提交 9033d143 编写于 作者: L laozhang

add python 94 and python 1008

上级 3125daaf
......@@ -49,6 +49,8 @@
35. [二叉树剪枝](./solution/tree/leetcode_814_.py)
36. [二叉搜索树中的插入操作](./solution/tree/leetcode_701_.py)
37. [二叉搜索树迭代器](./solution/tree/leetcode_173_.py)
38. [二叉树的中序遍历](./solution/tree/leetcode_94_.py)
39. [先序遍历构造二叉树](./solution/tree/leetcode_1008_.py)
......
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# coding=utf-8
"""
1008. 先序遍历构造二叉树
"""
from typing import List
from solution import TreeNode
class Solution:
def bstFromPreorder(self, preorder: List[int]) -> TreeNode:
def helper(root: TreeNode, val: int) -> TreeNode:
if not root:
return TreeNode(val)
if val > root.val:
root.right = helper(root.right, val)
else:
root.left = helper(root.left, val)
return root
root = TreeNode(preorder[0])
for v in preorder[1:]:
helper(root, v)
return root
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# coding=utf-8
"""
94. 二叉树的中序遍历
"""
from solution import TreeNode
class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
stack = []
list = []
while root or len(stack) > 0:
while root:
stack.append(root)
root = root.left
node = stack.pop()
list.append(node.val)
root = node.right
return list
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册