leetcode-java-94. Binary Tree Inorder Traversal
来源:互联网 发布:excel编程vba视频教程 编辑:程序博客网 时间:2024/06/06 07:37
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ /* 使用循环来解决,递归和迭代都是循环 递归:递归重复调用自身实现循环 迭代:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值 普通循环: 思路一: 使用递归 1ms 思路二: 使用迭代 2ms */ public class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<Integer>(); if(root != null) { list.addAll(inorderTraversal(root.left)); list.add(root.val); list.addAll(inorderTraversal(root.right)); } return list; } } /* 利用栈模拟递归过程实现中序遍历二叉树 左子树点不断的压入栈,且入栈后访问,相当于模拟递归的先访问左子树,才是根节点,直到null,然后处理栈顶节点的右子树 但是这种方式有良好的扩展性 */ public class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<Integer>(); Stack<TreeNode> stack = new Stack<TreeNode>(); while(root != null || !stack.isEmpty()) { while(root != null) { stack.push(root); root = root.left; } root = stack.pop(); list.add(root.val); root = root.right; } return list; } }
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
- 深入理解mybatis
- mysql创建外键约束报错【Bug Fix】Error : Can't create table '#sql-534_185' (errno: 150)
- 如何对指定区域进行坡度统计分析
- iOS OC NSData基本用法
- LightOJ 1104 Birthday Paradox【数学概率】
- leetcode-java-94. Binary Tree Inorder Traversal
- 第五条建议:避免重复创建相同数据的对象(相同的对象)。
- 欢迎使用CSDN-markdown编辑器
- C#调用默认浏览器打开网页的几种方法
- Kafka启动脚本
- Java类集框架——List接口
- 海量数据处理问题
- 在xcode模拟器上运行3Dtouch
- java 加解密工具类