【Leetcode】Binary Tree Inorder Traversal in JAVA
来源:互联网 发布:南京市雨花区网络问政 编辑:程序博客网 时间:2024/06/04 19:45
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.
遍历大家知道分为前序,中序,后序(不知道的同学请看这里http://baike.baidu.com/view/1455143.htm)
树的题都是非常有技巧性的,所以这道题的核心思想是:中序的顺序+stack栈
1.stack push进root结点
2.如果有left,把left变成root,但返回1;
3.如果没有left,把right变成root,返回1;
这样一看是不是简单多了?!
import java.util.ArrayList;import java.util.List;import java.util.Stack;public class BinaryTreeInorderTraversal { public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }public List<Integer> inorderTraversal(TreeNode root) { ArrayList<Integer> tree = new ArrayList<Integer>(); if(root==null)return tree; Stack<TreeNode>stack = new Stack<TreeNode>(); TreeNode p=root; while(!stack.empty()||p!=null){ if(p!=null){ stack.push(p); p=p.left; } else{ tree.add(stack.pop().val); p=stack.pop().right; } } return tree; }}
0 0
- 【Leetcode】Binary Tree Inorder Traversal in JAVA
- 【Leetcode】:94. Binary Tree Inorder Traversal 问题 in JAVA
- [Leetcode] Binary Tree Inorder Traversal (Java)
- Binary Tree Inorder Traversal LeetCode Java
- [LeetCode][Java] Binary Tree Inorder Traversal
- leetcode-94:Binary Tree Inorder Traversal (Java)
- leetcode:Binary Tree Inorder Traversal 【Java】
- LeetCode 94 -Binary Tree Inorder Traversal ( JAVA )
- leetcode-java-94. Binary Tree Inorder Traversal
- 【leetcode】94. Binary Tree Inorder Traversal【java】
- LeetCode: Binary Tree Inorder Traversal, Morris In Order 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
- 空间域名的误区以及如何筛选网站空间
- 手动为docker配置固定ip
- 心得总结:Java性能优化技巧集锦
- Codeforces#277 C,E
- 用Java打印指定范围内随机书的生成
- 【Leetcode】Binary Tree Inorder Traversal in JAVA
- 使用jacob打印word或excel
- 实验10第六题
- 第十二轴项目4-银行系统(二)
- UVA 11475 Extend to Palindrome hash
- 辛普森悖论:一个反直觉的统计现象
- Codeforces Round #277(Div. 2)
- 黑马程序员——Java面向对象(六)
- 2014软件测试现状调查活动开始啦!