Binary Tree Inorder Traversal
2016-07-29 17:26
375 查看
leetcode第94题,二叉树中序遍历,但是要求不要使用递归,所以就是二叉树遍历的非递归形式,利用栈来做。
废话不说多,直接上代码吧。
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def inorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
currNode = root
ans = []
stack = []
while (currNode or len(stack)!=0 ):
while currNode:
stack.append(currNode)
currNode = currNode.left
currNode = stack[-1]
stack.pop()
ans.append(currNode.val)
currNode = currNode.right
return ans
废话不说多,直接上代码吧。
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def inorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
currNode = root
ans = []
stack = []
while (currNode or len(stack)!=0 ):
while currNode:
stack.append(currNode)
currNode = currNode.left
currNode = stack[-1]
stack.pop()
ans.append(currNode.val)
currNode = currNode.right
return ans
相关文章推荐
- 剑指offer【不断补充】
- android activity启动模式笔记
- Java-JVM的内存调优
- 最长不下降子序列(可以改成最长上升子序列)
- Swift 标签控制器(tabbar添加提醒和控制器)
- hdu 5012 Dice 【Dfs】
- 仿苹果原生头部动画
- strdup()函数实现
- Quartz 2D编程指南(4) - 颜色和颜色空间
- java web listener 监听器
- hdu------1280 前m大的数
- 链表中倒数第k个结点
- Linux-DTS基础
- EasyUI 可调整尺寸
- 收藏 | DIV+CSS规范命名大全集合
- [转载] 用位运算实现加法运算(CPU内部实现)
- 一步一步解析集合框架LinkedList源码(1)
- 计算帧数错误记录
- noip2011 铺地毯
- ios获取当前时间,并对时间的相应处理