题解 | #二叉树的中序遍历#

二叉树的中序遍历

http://www.nowcoder.com/practice/0bf071c135e64ee2a027783b80bf781d

一样的递归,但是直接用python3写递归会报递归次数过多的错误,可能是python程序的一种自我保护,因为递归过多会占用过大内容,只要在前面设置下系统的递归最大次数就可以了。

import sys
sys.setrecursionlimit(100000) #设置递归深度

class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param root TreeNode类 
# @return int整型一维数组
#
class Solution:
    def inorderTraversal(self , root: TreeNode) -> list:
        # write code here
        treelist = []
        self.midtra(root,treelist)
        return treelist

    def midtra(self , root , treelist):
        if root:
            self.midtra(root.left,treelist)
            treelist.append(root.val)
            self.midtra(root.right , treelist)
        else:
            return None

root = TreeNode(1)
root.left = TreeNode(2)
root.left.right = TreeNode(3)
print(Solution().inorderTraversal(root))
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 14:23
steelhead:你回的有问题,让人感觉你就是来学习的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-28 12:15
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务