leetcode94. Binary Tree Inorder Traversal

来源:互联网 发布:mac机ae cc2014序列号 编辑:程序博客网 时间:2024/06/05 07:51

题目描述:

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].

分析:递归求解。。。

c++代码:

/** * 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 {private:vector<int> result;public:    vector<int> inorderTraversal(TreeNode* root) {        result.clear();        inorder(root);        return result;    }    void inorder(TreeNode* root)    {        if(root==NULL) return;        inorder(root->left);        result.push_back(root->val);        inorder(root->right);    }};
python代码:

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution(object):    def inorderTraversal(self, root):        """        :type root: TreeNode        :rtype: List[int]        """        self.result=[]        self.inorder(root)        return self.result    def inorder(self,root):        if root==None:            return         self.inorder(root.left)        self.result.append(root.val)        self.inorder(root.right)

(完)


1 0