Leetcode-binary-tree-inorder-traversal
来源:互联网 发布:mysql如何导出数据库 编辑:程序博客网 时间:2024/06/11 02:28
题目描述
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.
OJ's Binary Tree Serialization:
The serialization of a binary tree follows a level order traversal, where '#' signifies a path terminator where no node exists below.
Here's an example:
1 / \ 2 3 / 4 \ 5The above binary tree is serialized as"{1,2,3,#,#,4,#,#,5}".
题目故弄玄虚说了那么多,就是一句话,求中序遍历。
这里有一个问题需要注意,就是最后需要返回的是ArrayList,而不是以前做的System.out.print(),把ArrayList作为参数带进去,这样处理下来最终这个list里面就保存了所有遍历过得元素。 这个小点在很多题目中都能应用到,就是把最终需要输出的list或者数组以参数的形式放进递归函数里,最终输出这个参数代表的数据结果。
import java.util.*;public class Solution { public ArrayList<Integer> inorderTraversal(TreeNode root) {ArrayList<Integer> list = new ArrayList<Integer>();inorder(root, list);return list; } public static void inorder(TreeNode root, ArrayList<Integer> list) {if(root != null){ inorder(root.left,list);list.add(root.val);inorder(root.right,list); }}}
这就是代码,理论很简单,就是利用递归,先左孩子,然后根节点,最后右孩子。
类似地,我们可以得出先序遍历,后序遍历的代码。
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
- 数据不再遥远——如何构建企业级的数据分析平台
- SSH原理与运用(一):远程登录
- 关于nginx配置成功后,无法访问的问题
- iOS应用在后台长久运行
- TCP长连接与短连接的区别
- Leetcode-binary-tree-inorder-traversal
- 关于JS访问文件服务器的HTTP文件地址实现文件下载
- python读写excel文件
- MathType如何保存常用公式
- Python 核心编程笔记_Chapter_5_Note_1 数据类型及相关运算
- Android drawText获取text宽度的三种方式
- js数据类型
- springmvc拦截器实现登陆认证
- 斐波那契数列