zoukankan      html  css  js  c++  java
  • LeetCode--114--二叉树展开为链表(python)

    给定一个二叉树,原地将它展开为链表。

    例如,给定二叉树

      1
      /
       2   5
      /    
     3 4      6
    将其展开为:

        1
         
          2
           
            3
           
               4
            
           5
             
            6

    将root的右子树放到root的左子树的最右边作为右孩子         将root的左孩子变为自己的右孩子 (root.left=None)           root = root.right

      1                                  1                                         1       
      /                               /                                             
       2   5                           2                                               2
      /                             /                                               /  
     3 4      6                     3  4                                             3  4   
                                                                                               
                                              5                                                 5
                                                                                                       
                                                 6                                                  6                    

     1 class Solution:
     2     def flatten(self, root: TreeNode) -> None:
     3         """
     4         Do not return anything, modify root in-place instead.
     5         """
     6         if root==None or root.left == None and root.right == None :
     7             return root
     8         while(root != None):
     9             if(root.left == None):
    10                 root = root.right
    11             else:
    12                 pre = root.left
    13                 while pre and pre.right!=None:
    14                     pre = pre.right
    15              16                 pre.right = root.right
    17                 root.right = root.left
    18                 root.left = None
    19                 root = root.right
  • 相关阅读:
    react native android 应用状态(前端或后台)的判断
    react native native module
    Nodejs项目重复文件扫描
    clipboard.js文本复制到剪贴板的现代方法
    微信小程序如何跳转到另一个小程序
    百度小程序button去掉默认边框
    下拉框select中option居中样式
    css中如何实现左边的高度随着右边改变而改变
    js判断是否手机自动跳转移动端
    webpack安装整理
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/11637830.html
Copyright © 2011-2022 走看看