自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Iterative Postorder Traversals of Binary Tree

二叉树非递归后序遍历 1. Using 1 stack O(n) time, O(n) space 初始设置栈为空,当前节点为根节点 执行以下操作,直到栈为空且当前节点为空时停止: 当前节点入栈,将左孩子设为当前节点,直到当前节点为空。 令当前节点为stack[-1] 如果当前节点右孩子为空,或等于prev(说明已经访问过右子树) – 访问当前节点,出栈 – 设置prev=当前节点 – 令当前节点=None 否则,将右孩子设为当前节点 stack = [] node = root while node

2021-09-25 19:56:10 219

原创 Iterative Inorder Traversals of Binary Tree

二叉树非递归中序遍历 非递归中序遍历的三种写法和前序遍历(见前一篇)非常相似,区别在于访问根节点的时间不同。注意,前序遍历的方法1.2无法使用。 1. Using 1 stack O(n) time, O(n) space 初始设置栈为空,当前节点为根节点 执行以下操作: 当前节点入栈,将左子节点设为当前节点,直到当前节点为空。 弹出栈顶并访问,将当前节点设置为弹出节点的右子节点。 直到栈为空且当前节点为空时停止 stack = [] node = root while stack or node:

2021-09-24 04:44:03 190

原创 Iterative Preorder Traversals of Binary Tree

Iterative preorder traversals of binary tree 最近重新学习DFS,觉得是时候把前序中序后序遍历的非递归写法整理一下了。。 1. Using 1 stack O(n) time, O(n) space 方法1.1: 初始设置栈为空 执行以下操作: 从根节点开始执行访问并入栈,下一个访问的节点是当前节点的左子节点,直到当前节点为空。 弹出栈顶,将当前节点设置为弹出节点的右子节点。 直到栈为空且当前节点为空时停止 stack = [] node = root whi

2021-09-23 14:45:02 164

原创 LeetCode 225. Implement Stack using Queues, 232. Implement Queue using Stacks

225. Implement Stack using Queues, 232. Implement Queue using StacksImplement Queue using StacksImplement Stack using Queues Implement Queue using Stacks 有一步优化:每次弹出时,如果stack2空,把stack1中的其他元素倒到stack2中;s...

2019-07-05 22:38:11 254

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除