摘要:棧的意義價值具有時間性,先進后出。比如遞歸的后序遍歷,先序遍歷,二叉樹的按層次打印。根據需求不同,在中暫時儲存的元素單元也不同,元素的先后順序也不同。應用對順序有要求的數據。
stack 棧的意義價值: 具有時間性,先進后出。 所以具有時間關聯順序的元素可以通過這個時間。 比如遞歸的后序遍歷,先序遍歷,
二叉樹的按層次打印。 根據需求不同,在stack中暫時儲存的元素單元也不同,元素的先后順序也不同。
應用:對順序有要求的數據。二叉樹的處理。
Given a binary tree, return the postorder traversal of its nodes" values.
Example:
Input: [1,null,2,3]
1
2 /
3
Output: [3,2,1]
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None class Solution: def postorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int] """ if not root: return [] stack=list() ans=list() stack.append(root) while stack: node_cur=stack.pop() if node_cur.val: ans.append(node_cur.val) if node_cur.left: stack.append(node_cur.left) if node_cur.right: stack.append(node_cur.right) return ans[::-1]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42237.html
摘要:按順序放入,正好方面是從到,順序方面是從最右到最左,因為是先入后出。這樣最后一下就是先左后右,先子后根。 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...
摘要:題目解答最主要的思想是先存的話,整個存儲的順序會變反,所以要插入存儲進去。 題目:Given a binary tree, return the postorder traversal of its nodes values. For example:Given binary tree {1,#,2,3}, 1 2 / 3return [3,2,1]. 解答:最主要的思想是先存...
摘要:思路在的順序里,先,然后再左右。所以根據可以知道的。接著再分別在和的里面重復找以及左右的過程。首先的包括和,以及對應的起始和結束位置,對應的起始和結束位置。返回值為,因為每個里要一個,同時找到它的和,左右節點通過返回值獲得。同時的不需要了。 From Preorder and Inorder 思路在preorder的順序里,先root,然后再左右。所以根據preorder可以知道roo...
摘要:題目鏈接題目分析后序遍歷,這題也是比較基礎的題目了。思路先遍歷子節點,再遍歷根節點。最終代碼若覺得本文章對你有用,歡迎用愛發電資助。 D44 590. N-ary Tree Postorder Traversal 題目鏈接 590. N-ary Tree Postorder Traversal 題目分析 后序遍歷,這題也是比較基礎的題目了。 思路 先遍歷子節點,再遍歷根節點。 最終代碼...
閱讀 1563·2023-04-25 15:50
閱讀 1304·2021-09-22 15:49
閱讀 2932·2021-09-22 15:06
閱讀 3570·2019-08-30 15:54
閱讀 2331·2019-08-29 11:33
閱讀 2118·2019-08-23 17:56
閱讀 2144·2019-08-23 17:06
閱讀 1293·2019-08-23 15:55