水题遇到的
Queue的初始化
- Queue是抽象的,不能直接生成实例
- Queue< T > q=LinkedList< T >();这样是允许的
BFS
- BFS可以通过一个Queue实现
- 开始先q.add(root)
- 再而q.poll()访问root
- 判断node.left和node.right是否为空,不为空则q.offer(对应分支)
- 直到q.isEmpty()
XOR
- 异或可以用来找到一组数列中唯一出现的数,其他数都出现两次
- A ^ A = 0, A^A^B = B
Queue 中 offer 与 add的区别
- add只有新元素非空才行
- 不确定是否空则用offer