摘要:題目解答最主要的思想是先存的話,整個存儲的順序會變反,所以要插入存儲進去。
題目:
Given a binary tree, return the postorder traversal of its nodes" values.
For example:
Given binary tree {1,#,2,3},
1
2 /
3
return [3,2,1].
解答:
最主要的思想是先存root的話,整個存儲的順序會變反,所以要插入存儲進去。
1.Iterative解答:
public class Solution { public ListpostorderTraversal(TreeNode root) { List result = new ArrayList (); Stack stack = new Stack (); if (root == null) return result; stack.push(root); while (!stack.isEmpty()) { TreeNode node = stack.pop(); result.add(0, node.val); if (node.left != null) stack.push(node.left); if (node.right != null) stack.push(node.right); } return result; } }
2.Recursive解答:
//Recursive public void Helper(TreeNode root, Listresult) { if (root == null) return; result.add(0, root.val); Helper(root.right, result); Helper(root.left, result); } public List postorderTraversal(TreeNode root) { List result = new ArrayList (); Helper(root, result); return result; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64886.html
摘要:棧的意義價值具有時間性,先進后出。比如遞歸的后序遍歷,先序遍歷,二叉樹的按層次打印。根據需求不同,在中暫時儲存的元素單元也不同,元素的先后順序也不同。應用對順序有要求的數據。 stack 棧的意義價值: 具有時間性,先進后出。 所以具有時間關聯順序的元素可以通過這個時間。 比如遞歸的后序遍歷,先序遍歷, 二叉樹的按層次打印。 根據需求不同,在stack中暫時儲存的元素...
摘要:按順序放入,正好方面是從到,順序方面是從最右到最左,因為是先入后出。這樣最后一下就是先左后右,先子后根。 590. N-ary Tree Postorder Traversal Problem Given an n-ary tree, return the postorder traversal of its nodes values.For example, given a 3-ar...
摘要:指的是的位置。算法比較簡單,算法比較難想,可是原題都說了 preorder: root-left-rightinorder: left-root-rightpostorder: left-right-root order指的是root的位置。 recursive算法比較簡單,iterative算法比較難想,可是leetcode原題都說了: recursive method is tri...
摘要:思路在的順序里,先,然后再左右。所以根據可以知道的。接著再分別在和的里面重復找以及左右的過程。首先的包括和,以及對應的起始和結束位置,對應的起始和結束位置。返回值為,因為每個里要一個,同時找到它的和,左右節點通過返回值獲得。同時的不需要了。 From Preorder and Inorder 思路在preorder的順序里,先root,然后再左右。所以根據preorder可以知道roo...
閱讀 3703·2021-11-23 09:51
閱讀 1362·2021-11-10 14:35
閱讀 4009·2021-09-22 15:01
閱讀 1280·2021-08-19 11:12
閱讀 379·2019-08-30 15:53
閱讀 1690·2019-08-29 13:04
閱讀 3429·2019-08-29 12:52
閱讀 3055·2019-08-23 16:14