当前位置: 首页 > news >正文

Python | Leetcode Python题解之第450题删除二叉搜索树中的节点

题目:

题解:

class Solution:def deleteNode(self, root: Optional[TreeNode], key: int) -> Optional[TreeNode]:cur, curParent = root, Nonewhile cur and cur.val != key:curParent = curcur = cur.left if cur.val > key else cur.rightif cur is None:return rootif cur.left is None and cur.right is None:cur = Noneelif cur.right is None:cur = cur.leftelif cur.left is None:cur = cur.rightelse:successor, successorParent = cur.right, curwhile successor.left:successorParent = successorsuccessor = successor.leftif successorParent.val == cur.val:successorParent.right = successor.rightelse:successorParent.left = successor.rightsuccessor.right = cur.rightsuccessor.left = cur.leftcur = successorif curParent is None:return curif curParent.left and curParent.left.val == key:curParent.left = curelse:curParent.right = curreturn root

http://www.mrgr.cn/news/40949.html

相关文章:

  • C++网络编程之IP地址和端口
  • 实战OpenCV之轮廓检测
  • SQL Server—表格详解
  • SpringBoot开发——Spring Security中获取当前登录用户信息的方式
  • 读数据湖仓04数据架构与数据工程
  • CountDownLatch、CyclicBarrier、Semaphore等并发工具类的使用。JVM内存区域划分(堆、栈、方法区、程序计数器、本地方法栈)。
  • 某大型公园定岗定编项目成功案例纪实
  • 【架构】efk日志监控
  • 开放式耳机是什么意思?哪个品牌好?开放式蓝牙耳机测评分享
  • WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
  • Stable Diffusion绘画 | 来训练属于自己的模型:打标处理与优化
  • Python 3 和 MySQL(PyMySQL) 的完美结合
  • Python | Leetcode Python题解之第451题根据字符出现频率排序
  • git merge 和 git rebase
  • 极端天气道路目标检测数据集 3400张 带标注 VOC YOLO 6类
  • 苹果荔枝柠檬梨柿子数据集 水果数据集 树上1500张 带标注 voc yolo 5类
  • 玉米叶片病害检测数据集 6000张 玉米 带标注 voc yolo 6类
  • C语言_内存函数
  • Java | Leetcode Java题解之第450题删除二叉搜索树中的节点
  • 智能平衡移动机器人-平台硬件电路