递归三要素
- 递归函数参数返回值
- 终止条件
- 单次递归操作
10层序遍历
#递归
class Solution {
public:
void Traverse(TreeNode* root, vector< vector<int> >& result, size_t level) {
if (root == nullptr) return;
if (result.size() == level) result.push_back(vector<int>{});
auto cur = root;
result[level].push_back(cur -> val);
Traverse(cur -> left, result, level+1);
Traverse(cur -> right, result, level+1);
}
vector<vector<int>> levelOrder(TreeNode* root) {
int depth = 0;
vector< vector<int> > result;
Traverse(root, result, depth);
return result;
}
};
#101对称二叉树