新闻详情

新闻详情

首页 / 资讯中心 / 详情

元宝 LeetCode 116.填充每个节点的下一个右侧节点指针 Python3实现

发布时间:2026/9/27 22:51:39来源:尧图网络
元宝    LeetCode 116.填充每个节点的下一个右侧节点指针 Python3实现
LeetCode 116 题要求填充每个节点的“next” 指针使其指向右侧相邻的节点。由于题目给定的是完美二叉树我们可以利用这一特性在 O(1) 额外空间内完成递归解法的栈空间不计入额外空间复杂度。以下提供两种 Python3 实现方式方法一利用已建立的 next 指针迭代O(1) 空间推荐思路从根节点开始把每一层看作一个链表。通过上一层已经连接好的“next” 指针来连接当前层的子节点。“”Definition for a Node.class Node:definit(self, val: int 0, left: ‘Node’ None, right: ‘Node’ None, next: ‘Node’ None):self.val valself.left leftself.right rightself.next next“”class Solution:def connect(self, root: ‘Node’) - ‘Node’:if not root:return None# leftmost 指向每一层的最左节点 leftmost root # 只要当前层不是叶子层即还有下一层 while leftmost.left: # head 用于遍历当前层的节点 head leftmost while head: # 1. 同一个父节点的左孩子 - 右孩子 head.left.next head.right # 2. 不同父节点之间当前节点的右孩子 - 下一个节点的左孩子 if head.next: head.right.next head.next.left # 移动到当前层的下一个节点 head head.next # 进入下一层最左边的节点 leftmost leftmost.left return root核心逻辑“head.left.next head.right”连接同一个父节点下的左右孩子。2.“head.right.next head.next.left”如果“head.next” 存在连接相邻父节点的左右子树。3. 外层“while” 逐层深入内层“while” 横向遍历。方法二递归解法简洁直观递归方法利用函数调用栈隐式地完成了层序遍历代码更简洁。class Solution:def connect(self, root: ‘Node’) - ‘Node’:if not root:return None# 如果有左子树完美二叉树有左必有右 if root.left: # 左孩子指向右孩子 root.left.next root.right # 如果有下一个节点右孩子指向 next 的左孩子 if root.next: root.right.next root.next.left # 递归处理左右子树 self.connect(root.left) self.connect(root.right) return root复杂度分析时间复杂度O(N)每个节点只被访问一次。空间复杂度迭代法O(1)只使用了几个指针变量。递归法O(log N)即树高由递归栈产生符合题目进阶要求。你可以直接将上述任一代码提交到 LeetCode 即可通过。需要我帮你分析某一种写法的执行过程或者扩展到 LeetCode 117普通二叉树 的解法吗
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

小波神经网络数据预测实战:Python源码与数据集直接跑通 2026/9/27 23:45:13

小波神经网络数据预测实战:Python源码与数据集直接跑通

简介:这份资源面向数据预测方向的机器学习初学者与算法实践者,提供小波神经网络(WNN)的完整Python实现与配套数据集。小波神经网络融合小波变换的时频局部化特性与神经网络的非线性映射能力,能在不同尺度上捕捉数据局部…

阅读更多 →
198个C# WinForm实例源码:上位机开发与控件通信实战素材库 2026/9/27 23:45:13

198个C# WinForm实例源码:上位机开发与控件通信实战素材库

简介:这是一套面向C#桌面开发者的WinForm实例源码合集,适合初学者入门练手,也适合有经验的开发者查阅参考。资源覆盖窗体设计、控件布局、图像处理、报表打印、系统信息获取、文件读写、网络通信、数据库访问、加密解密以及硬件读写等十余个方…

阅读更多 →
Apereo CAS 基于 Helm Chart 的 Kubernetes 部署实践 2026/9/27 23:45:06

Apereo CAS 基于 Helm Chart 的 Kubernetes 部署实践

后端认证鉴权单点登录 【免费下载链接】cas Apereo CAS - Identity & Single Sign On for all earthlings and beyond. 项目地址: https://gitcode.com/gh_mirrors/ca/cas 点击查看 免费下载 本指南以 Apereo CAS 官方文档 Kubernetes-Helm-Deployment 为主体&…

阅读更多 →
小波神经网络房价预测实战:Python实现与调参避坑指南 2026/9/27 23:44:53

小波神经网络房价预测实战:Python实现与调参避坑指南

简介:这份资源面向数据预测方向的机器学习初学者与算法实践者,提供小波神经网络(WNN)的完整Python实现与配套数据集。小波神经网络融合小波变换的时频局部化特性与神经网络的非线性映射能力,能在不同尺度上捕捉数据局部…

阅读更多 →
wordpress+缩略图+api2026最新 2026/9/27 23:44:47

wordpress+缩略图+api2026最新

WordPress缩略图API实战:一文搞懂选型避坑 不会写代码想给WordPress网站加个图片接口?别慌,这事儿没那么玄乎。很多独立站长卡在“怎么把缩略图吐出去给前端用”这一步,要么用插件导致页面变慢,要么硬啃代码搞崩后台。其实核心就三…

阅读更多 →
小波神经网络WNN做数据预测:Python实战与调参避坑指南 2026/9/27 23:44:47

小波神经网络WNN做数据预测:Python实战与调参避坑指南

简介:这份资源面向机器学习初学者与需要快速搭建预测实验的开发者,提供小波神经网络(WNN)用于数据预测的完整Python实现与配套数据集。压缩包共8个文件,约5KB,包含2个py脚本、2个csv数据集和4个npy参数文件…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉