【一天一道LeetCode】#94. Binary Tree Inorder Traversal

来源:互联网 发布:卡洛斯实况巅峰数据 编辑:程序博客网 时间:2024/04/30 10:30

一天一道LeetCode

本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github
欢迎大家关注我的新浪微博,我的新浪微博
欢迎转载,转载请注明出处

(一)题目

Given a binary tree, return the inorder traversal of its nodes’ values.

For example:
Given binary tree [1,null,2,3],

1
  \
  2
 /
3
return [1,3,2].

(二)解题

题目大意:给定一个二叉树,输出中序遍历
讲二叉树的时候基本上都讲过递归求解中序遍历。即先访问左子树, 再根结点,再右子树,

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector<int> inorderTraversal(TreeNode* root) {        vector<int> ret;        inorder(root,ret);        return ret;    }    void inorder(TreeNode* p,vector<int>& ret)    {        if(p==NULL) return;        inorder(p->left,ret);//访问左子树        ret.push_back(p->val);//将根节点保存        inorder(p->right,ret);//访问右子树    }};
0 0
原创粉丝点击