zoukankan      html  css  js  c++  java
  • 二叉搜索树(2)

    class Solution:
        def levelOrder(self, root: TreeNode) -> List[List[int]]:
            if not root: return []
            res, queue = [], collections.deque()
            queue.append(root)
            while queue:
                tmp = []
                for _ in range(len(queue)):
                    node = queue.popleft()
                    tmp.append(node.val)
                    if node.left: queue.append(node.left)
                    if node.right: queue.append(node.right)
                res.append(tmp[::-1] if len(res) % 2 else tmp)
            return res
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def levelOrder(self, root: TreeNode) -> List[List[int]]:
            if not root: return []
            res, stack = [],[root]
            while stack:
                tmp = []
                for _ in range(len(stack)):
                    node = stack.pop(0)
                    if len(res) &1: tmp.insert(0,node.val) # 偶数层 -> 队列头部
                    else: tmp.append(node.val) # 奇数层 -> 队列尾部
                    if node.left: stack.append(node.left)
                    if node.right: stack.append(node.right)
                res.append(list(tmp))
            return res
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def levelOrder(self, root: TreeNode) -> List[List[int]]:
            if not root: return []
            res, stack = [],[root]
            while stack:
                tmp = []
                for _ in range(len(stack)):
                    node = stack.pop(0)
                    tmp.append(node.val) # 奇数层 -> 队列尾部
                    if node.left: stack.append(node.left)
                    if node.right: stack.append(node.right)
                res.append(tmp[::-1] if len(res)&1 else tmp)
                
            return res
  • 相关阅读:
    Java 垃圾回收机制
    Android 图片旋转(使用Matrix.setRotate方法)
    antd design vue 设置 v-decorator 的初始值
    校验 url 是否以http 或者https 开头
    有效的括号
    堆排序
    归并排序
    插入排序
    选择排序
    冒泡排序
  • 原文地址:https://www.cnblogs.com/topass123/p/12766739.html
Copyright © 2011-2022 走看看