[leetcode] Binary Tree Inorder Traversal
阿新 • • 發佈:2018-07-11
root script inorder iter des put rec pan left
分析:題目比較簡單,要求對一個二叉樹做中序遍歷。emmm,很基礎的DFS就可以了。代碼如下:
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 publicList<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