1.需要用一个栈来保存二叉树的节点
2.另外一个栈保存每次便历的值(获取当前节点的左右,从这个栈用pop出来)
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
if not root:
return root
st = []
st.append(root)
while st:
node = st.pop()
node.left, node.right = node.right, node.left #中
if node.right:
st.append(node.right) #右
if node.left:
st.append(node.left) #左
return root
2023-03-13 二叉树遍历的迭代法
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- python3 参考这篇题解:二叉树遍历[https://leetcode-cn.com/problems/bin...
- 题目描述 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的right指针,来表示链表中的n...
- 遍历思想: 前序遍历:根节点,左子树,右子树 中序遍历:左子树,根节点,右子树 后续遍历:左子树,右子树,根节点 ...