• leetcode-mid-Linked list- 103. Binary Tree Zigzag Level Order Traversal


    mycode 99.24%

    # 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 not root:
                return []
            self.res = [[]]
            def deal(level,root):
                if not root:
                    return
                if len(self.res) <= level:
                    self.res.append([])
                self.res[level].append(root.val)
                deal(level+1,root.left)
                deal(level+1,root.right)
            deal(0,root)
            for i,item in enumerate(self.res):
                if i%2 == 1:
                    self.res[i] = item[::-1]          
            return self.res

    参考:

    精简下,把root=None的情况融合在下面一起 

    class Solution(object):
        def zigzagLevelOrder(self, root):
            """
            :type root: TreeNode
            :rtype: List[List[int]]
            """
            def deal(root,k):
                if root:
                    if len(self.res) < k + 1:
                        self.res.append([])
                    self.res[k].append(root.val)
                    deal(root.left,k+1)
                    deal(root.right,k+1)
            
            self.res = []
            deal(root,0)
            for i in range(len(self.res)):
                if i%2 == 1:
                    self.res[i] = self.res[i][::-1]
            return self.res
  • 相关阅读:
    济南学习 Day5 T3 晚
    Codevs 1043 ==洛谷 P1004 方格取数
    济南学习 Day 5 T2 晚
    济南学习 Day 5 T1 晚
    济南学习 Day 5 T3 am
    济南学习 Day 5 T2 am
    LeetCode Weekly Contest 8
    poj-1410 Intersection
    leetcode-Warm Up Contest-Aug.21
    poj-1384 Piggy-Bank
  • 原文地址:https://www.cnblogs.com/rosyYY/p/10967750.html
Copyright © 2020-2023  润新知