1. 111. Minimum Depth of Binary Tree

    # 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 minDepth(self, root):
            """
            :type root: TreeNode
            :rtype: int
            """
            return self.depth(root, layer=0)
    
        def depth(self, root, layer):
            if root == None:
                return layer ...
    read more
  2. 110. Balanced Binary Tree

    # 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 isBalanced(self, root):
            """
            :type root: TreeNode
            :rtype: bool
            """
            if root == None:
                return True
            return abs(self.getHeight(root.left) - self.getHeight(root.right)) < 2 ...
    read more
  3. 109. Convert Sorted List to Binary Search Tree

    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    # 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 sortedListToBST(self, head):
            """
            :type head: ListNode
            :rtype ...
    read more
  4. 108. Convert Sorted Array to Binary Search Tree

    # 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 sortedArrayToBST(self, nums):
            """
            :type nums: List[int]
            :rtype: TreeNode
            """
            length = len(nums)
            if length == 0:
                return None
            root = TreeNode(nums[length/2])
            root.left ...
    read more
  5. 107. Binary Tree Level Order Traversal II

    # 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 levelOrderBottom(self, root):
            """
            :type root: TreeNode
            :rtype: List[List[int]]
            """
            if root == None:
                return []
            queue = [root]
            result = []
            while queue:
                newq = []
                newr = []
                for item in ...
    read more
  6. 106. Construct Binary Tree from Inorder and Postorder Traversal

    # 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 buildTree(self, inorder, postorder):
            """
            :type inorder: List[int]
            :type postorder: List[int]
            :rtype: TreeNode
            """
            if not postorder:
                return None
            root = TreeNode(postorder[-1])
            pos ...
    read more
  7. 105. Construct Binary Tree from Preorder and Inorder Traversal

    # 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 buildTree(self, preorder, inorder):
            """
            :type preorder: List[int]
            :type inorder: List[int]
            :rtype: TreeNode
            """
            # inorder:DBHEIAFCG
            # preorder:ABDEHICFG
            if not inorder:  # inorder base is ...
    read more
  8. 104. Maximum Depth of Binary Tree

    # 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 maxDepth(self, root):
            """
            :type root: TreeNode
            :rtype: int
            """
            return self.depth(root, layer=0)
    
        def depth(self, root, layer):
            if root == None:
                return layer ...
    read more
  9. 103. Binary Tree Zigzag Level Order Traversal

    # 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 zigzagLevelOrder(self, root):
            """
            :type root: TreeNode
            :rtype: List[List[int]]
            """
            if root == None:
                return []
            queue = [root]
            result = []
            count = 0
            while queue:
                newq = []
                newr = []
                for ...
    read more
  10. 102. Binary Tree Level Order Traversal

    import Queue
    # 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 levelOrder(self, root):
            """
            :type root: TreeNode
            :rtype: List[List[int]]
            """
            if root == None:
                return []
            queue = Queue.Queue()
            queue.put(root)  # record each ...
    read more

« Page 8 / 23 »

blogroll

social