二叉树的中序遍历;
重点是
traversal(cur->left,vec);
vec.push_back(cur->val);
traversal(cur->right,vec); 中序遍历
class Solution {
public:
void traversal(TreeNode*cur,vector<int>&vec){
if(cur==NULL) return;
traversal(cur->left,vec);
vec.push_back(cur->val);
traversal(cur->right,vec);
}
vector<int> inorderTraversal(TreeNode* root) {
vector<int>result;
traversal(root,result);
return result;
}
};
traversal(cur->left,vec);
traversal(cur->right,vec);
vec.push_back(cur->val);后序遍历
翻转二叉树
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if(root==NULL) return root;
swap(root->left,root->right);
invertTree(root->left);
invertTree(root->right);
return root;
}
};