zoukankan      html  css  js  c++  java
  • [Swift]LeetCode156.二叉树的上下颠倒 $ Binary Tree Upside Down

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10060377.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that shares the same parent node) or empty, flip it upside down and turn it into a tree where the original right nodes turned into left leaf nodes. Return the new root.

    For example: Given a binary tree {1,2,3,4,5},

        1

       /

      2   3

     /

    4   5

    return the root of the binary tree [4,5,2,#,#,3,1].

       4

      /

     5   2

        /

       3   1  


    给定一个二叉树,其中所有右节点要么是具有兄弟节点的叶节点(共享同一父节点的左节点),要么是空的,将其颠倒并将其转换为树,其中原始右节点转换为左叶节点。返回新根。

    例如:给定二叉树{1,2,3,4,5 },

        1

       /

      2   3

     /

    4   5

    返回二叉树的根 [4,5,2,#,#,3,1].

       4

      /

     5   2

        /

       3   1  


    Solution:
     1 public class TreeNode {
     2     public var val: Int
     3     public var left: TreeNode?
     4     public var right: TreeNode?
     5     public init(_ val: Int) {
     6         self.val = val
     7         self.left = nil
     8         self.right = nil
     9     }
    10 }
    11 
    12 class Solution {
    13     func upsideDownBinaryTree(_ root: TreeNode?) -> TreeNode? {
    14         if root == nil || root!.left == nil {return root}
    15         var l: TreeNode? = root!.left
    16         var r: TreeNode? = root!.right
    17         var res: TreeNode? = upsideDownBinaryTree(l)
    18         l!.left = r
    19         l!.right = root
    20         root!.left = nil
    21         root!.right = nil
    22         return res
    23     }
    24 }
  • 相关阅读:
    vue配置跨域
    vue的组件通信
    vue3.0图片循环不出来的解决方案
    具有隐私保护的分布式云数据库中聚合查询的多阶段协议-多级分离查询处理(MSQP)协议
    分布式云数据库
    虚拟网络映射论文
    云技术下的分布式数据库系统
    云环境下的分布式数据库-UDDB
    神经网络
    AlphaGo、AlphaGo zero、Alpha zero
  • 原文地址:https://www.cnblogs.com/strengthen/p/10060377.html
Copyright © 2011-2022 走看看