赞
踩
1. 层序遍历
注意每次while loop里固定一个size,只把size个元素放入res,用来分层
注意 if(node -> left){}这一步,不然left可能是null
2. 连刷十道题
总套路:
107.
翻转正常层序遍历就行,用 reverse(levelOrder.begin(), levelOrder.end());
复习day6的一个点:转化vector可以用下面这种方法,map和deque都可以用
return vector<int>(result_set.begin(), result_set.end());
vector<vector<int>>(result.begin(), result.end());
199.
记好基础逻辑,加上新的、只记录每行最后一个元素逻辑就行
637. 二叉树的层平均值
这种涉及double的题要格外小心,能在最开始declare variable的时候设成double就直接double,一个是之后运算的时候不用cast,一个是只设置为int可能会溢出
429. 见总套路,记住套路一遍过
515. 记住套路一遍过
116. 用现在的front() 指向pop后的front()就行
if(i < size - 1) node -> next = que.front();
117. 和116一样
104. level traverse记录level即可
111. 这道题和104都有两种写的方法,level traverse或者递归遍历,递归遍历以后练
注意标注出来的地方,只break的话只能break出inner while loop,直接return就行
226. 正常recursion,前序后序都行,注意swap(a, b)这种用法
101. 内层和外层的思想要记好
用后序遍历是因为要收集分支的情况才能进行判断
这道题其实每次recursion return的是两个节点的状况(且这两个节点在中线两侧)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。