【打卡第243道】【二叉树】【剑指Offer】:JZ8 二叉树的下一个结点
1、题目描述
2、算法分析
既然是找中序遍历的某一个结点的下一个结点,其实思路已经很明确了。
1、将二叉树中序遍历,存储到集合中。前提,首先找到根节点。根节点可以根据指向父节点的next指针找到。
2、找到根节点后,遍历集合,找到pNode == list.get(i),的那个元素。
注意:如果pNode是最后一个元素的话,下一个元素肯定为null;
如果pNode不是最后一个元素,返回list,get(i+1)
3、代码实现
/*
public class TreeLinkNode {int val;TreeLinkNode left = null;TreeLinkNode right = null;TreeLinkNode next = null;TreeLinkNode(int val) {this.val = val;}
}
*/
/*既然是找中序遍历的某一个结点的下一个结点,其实思路已经很明确了。1、将二叉树中序遍历,存储到集合中。前提,首先找到根节点。根节点可以根据指向父节点的next指针找到。2、找到根节点后,遍历集合,找到pNode == list.get(i),的那个元素。注意:如果pNode是最后一个元素的话,下一个元素肯定为null;如果pNode不是最后一个元素,返回list,get(i+1)
*/
import java.util.ArrayList;
public class Solution {ArrayList<TreeLinkNode> list = new ArrayList<>();public TreeLinkNode GetNext(TreeLinkNode pNode) {TreeLinkNode par = pNode;while(par.next != null){par = par.next;}inOrder(par);for(int i = 0;i < list.size();i++){if(pNode == list.get(i)){if(i == list.size() - 1){return null;}else{return list.get(i + 1);}}}return null;}// 中序遍历public void inOrder(TreeLinkNode pNode){if(pNode != null){inOrder(pNode.left);list.add(pNode);inOrder(pNode.right);}}
}
【打卡第243道】【二叉树】【剑指Offer】:JZ8 二叉树的下一个结点相关推荐
- 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java
<LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...
- 【LeetCode】剑指 Offer 34. 二叉树中和为某一值的路径
[LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 文章目录 [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 package offer;import ja ...
- 【LeetCode】剑指 Offer 27. 二叉树的镜像
[LeetCode]剑指 Offer 27. 二叉树的镜像 文章目录 [LeetCode]剑指 Offer 27. 二叉树的镜像 一.递归法 二.辅助栈(或队列) 一.递归法 根据二叉树镜像的定义,考 ...
- 算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)
文章目录 剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树: 样例 1: 限制: 分析 题解 rust go c++ java python 原题传送门:https://leetcode. ...
- JZ27 [剑指 Offer 27] 二叉树的镜像
二叉树的镜像 Category Difficulty Likes Dislikes lcof Easy (79.61%) 311 - 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: ...
- C#刷剑指Offer | 从上到下打印二叉树
[C#刷题]| 作者 / Edison Zhou 这是EdisonTalk的第288篇原创内容 我们来用之前学到的数据结构知识来刷<剑指Offer>的一些核心题目(精选了其中30+道题目) ...
- 《剑指offer》二叉树镜像
剑指offer简单题,但是能一下写对也需要小心考虑细节. 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / 6 10 / / 5 7 9 11 ...
- 【Java】 剑指offer(27) 二叉树的镜像
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 思路 画图可 ...
- 剑指offer 27. 二叉树的镜像
声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.树的镜像 定义:树的根结点相同,但是左右两个子节点交换了位置 2.解题思路 1)前序遍历树的每一个结点: 2)如果遍历到的节 ...
- 剑指offer:二叉树的下一个节点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. /* struct TreeLinkNode {int ...
最新文章
- qt qtreewidget 设置 值_QTreeWidget
- ubuntu18.04(python3.6)安装pip3报错:ImportError: cannot import name 'sysconfig'
- [svc]ext4文件删除访问原理
- python 导包语法 import package as name 和 from package import name 的区别
- [云炬创业基础笔记]第七张创业团队测试9
- CodeForces - 520C DNA Alignment(思维)
- 单片机检测220V交流电通断电路
- linux-ubuntu下调出中文输入法
- 3.live555源码分析----延时队列
- Java中List转换为数组,数组转List
- 计算机算法常用英语,计算机术语 算法相关术语
- linux看视频播放器官方下载,SMPlayer - Linux 电影播放器
- 一文理解 Windows 身份验证原理
- 基于Android studio+SSH的单词记忆(背单词)APP设计
- 自定义Behavior
- 数据挖掘算法和实践(四):支持向量机(iris鸢尾花数据集)
- 张五常经济学三大公理
- 小米盒子,一个说皇帝没穿衣服的小孩
- 磷酸铁锂离子蓄电池的特点
- 饥荒专属服务器证书过期,饥荒TGP版存档丢失及证书不存在解决方法介绍
热门文章
- 不能安装该软件,因为当前无法从软件更新服务器获得。
- Win10下更改Android AVD 模拟器的存放位置的方法
- 第1天 | 28天学会PyQt5,开发四部曲
- 服务器安装系统鼠标键盘不能用,在Dell计算机上安装Win7系统后,将无法使用USB鼠标和键盘. 完整的解决方案...
- 网站需要高防服务器吗,什么类型的行业需要高防服务器?
- 添加java文件,添加 java 文件
- wslregisterdistribution failed with error: 0x80070005
- [乡土民间故事_徐苟三传奇]第一回_紫禁城派兵破龙胎
- 2018年BAT,京东,美团,滴滴等公司面试经验总结
- 哈工大计算机学院刘明,哈工大机电工程学院机械工程专业导师介绍:刘明