[leetcode]145.二叉树的后序遍历
生活随笔
收集整理的這篇文章主要介紹了
[leetcode]145.二叉树的后序遍历
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個二叉樹,返回它的?后序?遍歷。
示例:
輸入: [1,null,2,3] 1\2/3 輸出: [3,2,1]進階:?遞歸算法很簡單,你可以通過迭代算法完成嗎?
1.遞歸解法
class Solution:def postorderTraversal(self, root: TreeNode) -> List[int]:self.res = []self.dfs(root)return self.res def dfs(self,node:TreeNode):if node is None:returnself.dfs(node.left)self.dfs(node.right)self.res.append(node.val)2.非遞歸解法
class Solution:def postorderTraversal(self, root: TreeNode) -> List[int]:"""左右根根右左-->反轉"""res = []if root is None:return resstack = []stack.append(root)while len(stack)>0:node = stack.pop()res.append(node.val)if node.left!=None:stack.append(node.left)if node.right!= None:stack.append(node.right)res.reverse()return res總結
以上是生活随笔為你收集整理的[leetcode]145.二叉树的后序遍历的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode] 144.二叉树的前
- 下一篇: [leetcode]94.二叉树的中序遍