题目
给定一个二叉树, 非完全二叉树. 输出中根遍历.
Input: [1,null,2,3]
1
\
2
/
3
Output: [1,3,2]
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {};
};
思路
递归
void recrution(TreeNode *root, vector<int> &vec) {
if (root == nullptr) {
return;
}
recrution(root->left, vec);
vec.push_back(root->val);
recrution(root->right, vec);
}
vector<int> inorderTraversal(TreeNode *root) {
vector<int> res;
recrution(root, res);
return res;
}
总结
构造一个TreeNode比较复杂, 需要掌握通过一个数组构建一个树, 便于快速测试.
网友评论