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

《leetcode-php》把二叉树的左兄弟节点指向右兄弟节点

如果给定的树可以是任意的二叉树呢?你之前的给出的算法还有效吗?
注意:你只能使用常量的额外内存空间
例如:
给出的二叉树如下: 1↵ / ↵ 2 3↵ / ↵ 4 5 7
调用完你给出的函数之后,这棵树应该变成:
1 -> NULL↵ / ↵ 2 -> 3 -> NULL↵ / ↵ 4-> 5 -> 7 -> NULL

<?php class TreeLinkNode { public $left = null; public $right = null; public $next = null; public $val; public function __construct($val) { $this->val = $val; } } function connect($root) { if ($root->left != null && $root->right != null) { $root->left->next = $root->right; } if ($root->next != null) { if ($root->next->left != null) { if ($root->right != null) { $root->right->next = $root->next->left; } elseif ($root->left != null) { $root->left->next = $root->next->left; } } if ($root->next->right != null) { if ($root->right != null) { $root->right->next = $root->next->right; } elseif ($root->left != null) { $root->left->next = $root->next->right; } } } if ($root->left != null) { connect($root->left); } if ($root->right != null) { connect($root->right); } return $root; } $node1 = new TreeLinkNode(1); $node2 = new TreeLinkNode(2); $node3 = new TreeLinkNode(3); $node4 = new TreeLinkNode(4); $node5 = new TreeLinkNode(5); $node6 = new TreeLinkNode(6); $node7 = new TreeLinkNode(7); $node1->left = $node2; $node1->right = $node3; $node2->left = $node4; $node2->right = $node5; //$node3->left = $node6; $node3->right = $node7; $root = connect($node1); output($root); function output($root) { if ($root != null) { print $root->val.'->'.$root->next->val.';'; } if ($root->left != null) { output($root->left); } if ($root->right != null) { output($root->right); } }
http://www.jsqmd.com/news/1281200/

相关文章:

  • 英雄联盟智能助手:5个维度重新定义你的游戏体验
  • 字典树(Trie)原理、实现与优化全解析
  • 2026年8月郑州稳重的合同纠纷律师联系方式?杨思介协调法拍房交易相关合同争议 - 十大排行榜推荐
  • 佛山压铸机配件浇口套料管多年专业厂家 - 信息热点
  • 【私藏级AI语言训练协议】:MIT+剑桥双认证框架首次公开,仅限本周免费解析(含动态词频校准表)
  • 2026宁波闲置黄金奢品变现热潮,连锁直营门店交易优势凸显(附门店联系方式) - 二奢分享官
  • Spring Boot 配置嵌入式Servlet容器
  • 掌握Agent开发,抢占AI时代核心优势:从入门到实战,升职加薪必备!
  • 外贸网站Google推广的实操策略
  • OpenClaw智能代理框架一键部署指南
  • TestDisk数据恢复:免费开源工具拯救丢失数据的完整指南
  • 2026长三角亚硫酸氢钠厂家推荐:专业生产与稳定供应实力解析 - 信息热点
  • 你的数字记忆管家:3步永久保存微信聊天记录,打造专属情感档案馆
  • Java中SSM框架解决跨域请求
  • Obsidian 插件搭配指南:从同步底层到效率工具的五层插件体系
  • 沈阳装修公司综合实力榜2026:6大维度严选,荣泰、林泽、富田、方林上榜 - GrowUME
  • Obsidian+Python构建个人知识管理系统实践
  • COMSOL多物理场仿真在压缩空气储能系统中的应用
  • 物联网安全:SE050安全元件与TM4C129XNCZAD的协同设计
  • 南通市马桶疏通 / 管道疏通|本地市民好评,满分十星平台+ ICP 多重备案 | 2026首选小蚁匠 - 欧米到家
  • 抖音无水印下载终极指南:3步学会批量保存高清视频的免费工具
  • Python基础学习之IF控制流
  • 贵阳观山湖变现投资金条,避坑要点很多人不知道 - 全城热点
  • NBM5100A电池增强器与PIC18F45K80的低功耗物联网方案
  • Outfit字体终极指南:9种字重免费开源字体库,让设计瞬间拥有品牌感
  • 华硕笔记本性能优化革命:告别传统工具依赖,打造你的个性化性能画像
  • Micro:bit驱动8x8 LED点阵屏:基于74HC595的动态扫描原理与Mind+实战
  • Python量化交易利器:pyctp CTP接口封装技术全解析
  • FlicFlac:Windows上7大音频格式一键互转的终极免费解决方案
  • 如何3分钟掌握大麦助手:专业用户的完整抢票神器指南