[LeetCode] Binary Tree Inorder Traversal
来源:互联网 发布:java解压缩rar 编辑:程序博客网 时间:2024/05/29 18:06
Problem : 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?
1.C++版
/** * Definition for binary tree * 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) { TreeNode *p = root, *q = root; stack<TreeNode*> stack; vector<int> result; while(NULL != p || !stack.empty()){ while(NULL != p){ stack.push(p); p = p->left; } if(!stack.empty()){ q = stack.top(); result.push_back(q->val); stack.pop(); p = q->right; } } return result; }};
2.Java版
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public ArrayList<Integer> inorderTraversal(TreeNode root) { TreeNode p = root,q = root; Stack<TreeNode> stack = new Stack<TreeNode>(); ArrayList<Integer> result = new ArrayList<Integer>(); while(null != p || !stack.isEmpty()){ while(null != p){ stack.push(p); p = p.left; } if(!stack.isEmpty()){ q = stack.peek(); result.add(q.val); p = q.right; } } return result; }}
3.Python版
待续
完
0 0
- LeetCode: Binary Tree Inorder Traversal
- [LeetCode]Binary Tree Inorder Traversal
- LeetCode Binary Tree Inorder Traversal
- [Leetcode] Binary Tree Inorder Traversal
- Leetcode: Binary Tree Inorder Traversal
- LeetCode Binary Tree Inorder Traversal
- LeetCode : Binary Tree Inorder Traversal
- [Leetcode] Binary Tree Inorder Traversal
- 【leetcode】Binary Tree Inorder Traversal
- [LeetCode]Binary Tree Inorder Traversal
- Leetcode: Binary Tree Inorder Traversal
- [leetcode]Binary Tree Inorder Traversal
- LeetCode-Binary Tree Inorder Traversal
- Leetcode Binary Tree Inorder Traversal
- [leetcode] Binary Tree Inorder Traversal
- LeetCode - Binary Tree Inorder Traversal
- [LeetCode] Binary Tree Inorder Traversal
- LeetCode | Binary Tree Inorder Traversal
- jQuery EasyUI相关问题
- MFC读取配置文件
- linux 下安装、使用 redis
- Cocos2d-x CCNotificationCenter 通知中心 自定义消息事件
- 阿里电话面试经过与总结
- [LeetCode] Binary Tree Inorder Traversal
- Mongoose 操作
- 北邮OJ 2 大数减法
- 【BZOJ】【APIO2009】【ATM】【强连通分量+DP】
- NTP of rtp
- PHP内置的预定义常量大全
- 移植android ndk c++各种兼容性问题
- UIScrollView实现重用
- skiplist 跳跃表详解及其编程实现