[leetcode] Binary Tree Inorder Traversal
Posted Lin.B
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] Binary Tree Inorder Traversal相关的知识,希望对你有一定的参考价值。
Given a binary tree, return the inorder traversal of its nodes‘ values.
Example:
Input: [1,null,2,3] 1 2 / 3 Output: [1,3,2]
Follow up: Recursive solution is trivial, could you do it iteratively?
分析:题目比较简单,要求对一个二叉树做中序遍历。emmm,很基础的DFS就可以了。代码如下:
1 class Solution { 2 public List<Integer> inorderTraversal(TreeNode root) { 3 List<Integer> list = new ArrayList<>(); 4 helper(list,root); 5 return list; 6 } 7 private void helper(List<Integer> list, TreeNode root) { 8 if ( root == null ) return; 9 helper(list,root.left); 10 list.add(root.val); 11 helper(list,root.right); 12 } 13 }
运行时间0ms,哇,第一个0ms成就达成!
关于二叉树的先序、中序、后序遍历,只要改一下第10行代码的位置就可以了。先序就放到最前面,中序就放到中间,后序就放到最后面。其他的也没啥要注意的了。
以上是关于[leetcode] Binary Tree Inorder Traversal的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 979. Distribute Coins in Binary Tree
(Easy) Search in Binary Tree - LeetCode
Leetcode_easy993. Cousins in Binary Tree
[LeetCode] Find Mode in Binary Search Tree