Skip to content

Latest commit

 

History

History
 
 

101. Binary Tree Level Order Traversal

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

这道题完全属于基础题,但是如何将基础题写的不像课本上那么啰嗦,也算是本事。

思路应该是非常顺其自然的,需要一个 deque 或者 queue 来做缓存,由于昨晚刚学了CP5上的 deque,所以就选择了前者。通过迭代,将所有下一层级的节点放到 deque 中去, 同时将这一层节点的 value 放到 vector 中去。

唯一需要注意的是,deque 的长度一直在变, 所以迭代的时候,不能用 q.size() 作为一个恒定的标杆,应该多用一个局部变量,如 n ,来记录当前的长度。

这块第一次考虑的时候,想复杂了,竟然弄了两个 deque 来交替,有点粗暴,但却让我 2 分钟解出,在手机上 AC 了。后来想想,其实控制好长度,一个 deque 完全可以胜任。

优质的代码,不应该有废话,目前这个方案,我非常满意了。