LeetCode总结

时间:2024-09-25 10:04:56

LeetCode总结

所有代码见我的github。不过一般leetcode上答案也一大堆,最好还是自己动动手,收获比较大。

100

知识点:递归,二叉树
难度Easy,主要是注意对当p和q均为null时也要做判断。

104

知识点:二叉树,DFS
难度Easy,递归返回的时候记得+1

136

知识点:哈希表,位操作
难度Easy,一个哈希表搞定。但是用XOR的思想实现O(n) time complexity and O(1) space complexity新手不太容易想到。
因为A XOR A = 0,且XOR运算是可交换的,于是,对于实例{2,1,4,5,2,4,1}就会有这样的结果:

(2^1^4^5^2^4^1) => ((2^2)^(1^1)^(4^4)^(5)) => (0^0^0^5) => 5

就把只出现了一次的元素(其余元素均出现两次)给找出来了!

191

知识点:位操作
难度Easy,位操作的基本题型吧,要是不熟悉位操作,可以好好学习一下这个题目

217

知识点:数组,哈希表
难度Easy,这个题目真是经典,方法太多了。我自己的思路是把list放到set里,然后比较大小。看了讨论里面还有其他的方法,一起说一说。
第一种是最简单的循环两遍。第二种是先排序,然后遍历一遍,比较相邻的元素是否相等。第三种是利用哈希表,先遍历一遍然后看看哪个元素出现了两次

226

知识点:二叉树,递归
难度Easy,递归+二叉树没少考。

237

知识点:链表
难度Easy,链表的入门题目了吧,直接把下一个节点的所有信息覆盖到该节点就行