c语言sscanf函数的用法是什么
293
2022-08-25
[leetcode] 145. 二叉树的后序遍历
Description
给定一个二叉树,返回它的 后序 遍历。
示例:
Example 1:
输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
分析
题目的意思是:实现二叉树的后续遍历,没什么说的,需要用到栈,首先把根节点加入到栈,然后遍历栈,拓展左右子节点,然后不断的取出值进行拓展。最后输出的结果是output的逆序。从上到下,从右到左,逆序就是从左到右,从下到上,刚好是后序遍历
代码
# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def postorderTraversal(self, root: TreeNode) -> List[int]: if(root is None): return [] output=[] stack=[root] while(stack): node=stack.pop() output.append(node.val) if(node.left is not None): stack.append(node.left) if(node.right is not None): stack.append(node.right) output.reverse() return output
参考文献
[LeetCode] 二叉树的后序遍历
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~