leetcode刷题7:前序遍历二叉树
2014-04-24 21:57
351 查看
二叉树遍历很基础,递归的遍历更是简单,这里的题目要求不能用递归,那么就使用一个栈来模拟递归的函数栈,就可以了
python代码如下:
class Solution:
def preorderTraversal
4000
(self,root):
ret = []
stack = []
if root == None:
return ret
stack.append(root)
while stack:
node = stack.pop()
ret.append(node.val)
if node.right != None:
stack.append(node.right)
if node.left != None:
stack.append(node.left)
return ret
python代码如下:
class Solution:
def preorderTraversal
4000
(self,root):
ret = []
stack = []
if root == None:
return ret
stack.append(root)
while stack:
node = stack.pop()
ret.append(node.val)
if node.right != None:
stack.append(node.right)
if node.left != None:
stack.append(node.left)
return ret
相关文章推荐
- leetcode | 二叉树的前序遍历、中序遍历、后续遍历的非递归实现
- LeetCode:105_Construct Binary Tree from Preorder and Inorder Traversal | 根据前序和中序遍历构建二叉树 | Medium
- LeetCode:Binary Tree Preorder Traversal(非递归方法前序遍历二叉树)
- LeetCode:144_Binary Tree Preorder Traversal | 二叉树的前序遍历 | Medium
- LeetCode 根据前序和中序遍历构造二叉树的三种解法
- LeetCode Binary Tree Preorder Traversal 前序遍历二叉树 递归和非递归解法
- lintcode--二叉树的前序遍历
- poj2255 根据二叉树的前序和中序遍历 求出树的后序遍历
- UVA 11234 ( 二叉树 前序 后续遍历方法)
- 【LeetCode-面试算法经典-Java实现】【102-Binary Tree Level Order Traversal(二叉树层序遍历)】
- leetcode105 && leetcode106 && PAT 1138. 二叉树的三种遍历的应用
- [LeetCode] Binary Tree Level Order Traversal 二叉树层次遍历(DFS | BFS)
- 【LeetCode 110_二叉树_遍历】Balanced Binary Tree
- leetcode 236. Lowest Common Ancestor of a Binary Tree 最近公告祖先LCA + 二叉树 + 深度优先遍历DFS
- 二叉树的前序遍历---非递归实现
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal (利用中序遍历和后续遍历确定一颗二叉树)
- 【LeetCode】107. Binary Tree Level Order Traversal II-二叉树水平顺序遍历2
- 【LeetCode 144_二叉树_遍历】Binary Tree Preorder Traversal
- 面试题 二叉树的前序遍历,中序遍历,后序遍历(递归实现)