【leetcode】94. Binary Tree Inorder Traversal【java】
来源:互联网 发布:云计算 搭建 openstack 编辑:程序博客网 时间:2024/05/22 15:42
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]
.
Note: Recursive solution is trivial, could you do it iteratively?
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<Integer> inorderTraversal(TreeNode root) { //非递归 中序遍历二叉树 (先左子树 再根节点 再右子树) List<Integer> list =new ArrayList(); Stack<TreeNode> stack=new Stack(); if(root==null) return list; while(root!=null){ stack.push(root); root=root.left; while(root==null){ if(stack.empty()) { return list; } root=stack.pop(); list.add(root.val); root=root.right; } } return list; //递归 中序遍历二叉树 /*List<Integer> list = new ArrayList(); addNode(list, root); return list; } public void addNode(List<Integer> list, TreeNode root){ if (root == null){ return; } addNode(list, root.left); list.add(root.val); addNode(list, root.right);**/ }}
非递归 2017-1-1更改
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<Integer>(); Stack<TreeNode> stack = new Stack<TreeNode>(); TreeNode cur = root; while (!stack.isEmpty() || cur != null){ if (cur != null){ stack.push(cur); cur = cur.left; } else{ TreeNode p = stack.pop(); result.add(p.val); cur = p.right; } } return result; }}
0 0
- leetcode-java-94. Binary Tree Inorder Traversal
- 【leetcode】94. Binary Tree Inorder Traversal【java】
- [Leetcode] Binary Tree Inorder Traversal (Java)
- Binary Tree Inorder Traversal LeetCode Java
- 【Leetcode】Binary Tree Inorder Traversal in 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】:94. Binary Tree Inorder Traversal 问题 in JAVA
- LeetCode 94. Binary Tree Inorder Traversal java solution
- [leetcode]94. Binary Tree Inorder Traversal@Java解题报告
- LeetCode 94. Binary Tree Inorder Traversal
- [LeetCode]94.Binary Tree Inorder Traversal
- 94. Binary Tree Inorder Traversal Leetcode Python
- [Leetcode] 94. Binary Tree Inorder Traversal
- LeetCode --- 94. Binary Tree Inorder Traversal
- LeetCode 94. Binary Tree Inorder Traversal
- Mac开发中,请问如何编码实现操作finder打开指定目录,谢谢!
- Spark SQL 之 DataFrame
- BZOJ2091: [Poi2010]The Minima Game
- 怎样在xcode中改变文件夹的颜色
- 自由运动的小球
- 【leetcode】94. Binary Tree Inorder Traversal【java】
- iOS 支付宝快捷支付 请求参数错误
- Qt移植字体解决方案:Android/ios/嵌入式通用
- 深度搜索算法C语言实现--以走迷宫为例
- 聊聊C语言的预编译指令include
- C语言中进制中大小写的区别
- ListView中的CheckBox实现单选
- 美艳小三街头被暴打, 整容前照片首曝光, 网友大呼辣眼睛!
- 运营者常犯这些错误——微信公众号运营的误区分析