1 题目
Given a binary tree, return the inorder traversal of its nodes' values.
2 尝试解
class Solution {
public:
vector<int> inorderTraversal(TreeNode* root) {
vector<int> result;
inorderTree(root,result);
return result;
}
void inorderTree(TreeNode* root,vector<int>& saver){
if(root == NULL) { return;}
if(root->right == NULL && root->left == NULL)
{saver.push_back(root->val);return;}
inorderTree(root->left,saver);
saver.push_back(root->val);
inorderTree(root->right,saver);
}
};
3 标准解
class Solution {
public:
vector<int> inorderTraversal(TreeNode* root) {
vector<int> nodes;
inorder(root, nodes);
return nodes;
}
private:
void inorder(TreeNode* root, vector<int>& nodes) {
if (!root) {
return;
}
inorder(root -> left, nodes);
nodes.push_back(root -> val);
inorder(root -> right, nodes);
}
};