144. 二叉树的前、中、后序遍历
笔记
- 先确定递归函数的参数和返回值
- 确定终止条件
- 确定单层递归逻辑
class Solution {
public:
void traversal(vector<int>& vec, TreeNode* node) {
if (node == NULL) return;
vec.push_back(node->val);
traversal(vec, node->left);
traversal(vec, node->right);
/*中序遍历
traversal(vec, node->left);
vec.push_back(node->val);
traversal(vec, node->right);
*/
/*后序遍历
traversal(vec, node->left);
traversal(vec, node->right);
vec.push_back(node->val);
*/
}
vector<int> preorderTraversal(TreeNode* root) {
vector<int> result;
traversal(result, root);
return result;
}
};