中序遍历
问题描述:
给出一棵二叉树,返回其中序遍历。
样例
给出二叉树 {1,#,2,3},
1
\
2
/
3
返回 [1,3,2].
解题思路:
用递归算法按照中序遍历访问二叉树的结点,并把访问到的结点值存放到向量中。
代码实现:
class Solution {
/**
* @param root: The root of binary tree.
* @return: Inorder in vector which contains node values.
*/
public:
vector<int>ss;
vector<int> inorderTraversal(TreeNode *root) {
// write your code here
if(root!=NULL){
inorderTraversal(root->left);
ss.push_back(root->val);
inorderTraversal(root->right);
}
return ss;
}
};
A题感悟:
根据前序遍历和中序遍历的定义,理解了前序遍历的算法,中序遍历只需改变一下代码的顺序即可。