LeetCode:Binary Tree Inorder Traversal

来源:互联网 发布:windows 守护进程 编辑:程序博客网 时间:2024/06/16 02:08

Binary Tree Inorder Traversal




Total Accepted: 126544 Total Submissions: 316559 Difficulty: Medium

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

For example:
Given binary tree {1,#,2,3},

   1    \     2    /   3

return [1,3,2].

Note: Recursive solution is trivial, could you do it iteratively?

confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.

Subscribe to see which companies asked this question

Hide Tags
 Tree Hash Table Stack
Hide Similar Problems
 (M) Validate Binary Search Tree (M) Binary Tree Preorder Traversal (H) Binary Tree Postorder Traversal(M) Binary Search Tree Iterator (M) Kth Smallest Element in a BST (H) Closest Binary Search Tree Value II (M) Inorder Successor in BST





























c++ code:

/** * 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> ivec;        TreeNode *p=root;        stack<TreeNode *> s;        while(p || !s.empty()){            while(p){                s.push(p);                p=p->left;            }            if(!s.empty()){                p=s.top();                ivec.push_back(p->val);                s.pop();                p=p->right;            }        }        return ivec;    }};

0 0
原创粉丝点击