您的位置:首页 > 其它

lintcode——二叉树的中序遍历

2017-04-08 00:30 309 查看
1、题目

    给出一棵二叉树,返回其中序遍历

样例

给出二叉树 
{1,#,2,3}
,
1
\
2
/
3

返回 
[1,3,2]
.

2、思路

   和前序遍历是一样的,用递归算法。不过是中间遍历根节点了·~~~~

3、代码

/**

 * Definition of TreeNode:

 * class TreeNode {

 * public:

 *     int val;

 *     TreeNode *left, *right;

 *     TreeNode(int val) {

 *         this->val = val;

 *         this->left = this->right = NULL;

 *     }

 * }

 */

class Solution {

    /**

     * @param root: The root of binary tree.

     * @return: Inorder in vector which contains node values.

     */

public:

    std::vector<int> t;

    vector<int> inorderTraversal(TreeNode *root) {

        // write your code here

    if(root==NULL) return t;

    else{

        inorderTraversal(root->left);

        t.push_back(root->val);

        inorderTraversal(root->right);

      }

      return t;

    }

};

4、感想

写了前序遍历之后对递归有了点眉目,写起中序遍历来就很快了。两个题的代码也几乎一样。  


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: