给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示
1条回答 默认 最新
关注
public class Solution { TreeLinkNode GetNext(TreeLinkNode node) { if(node==null) return null; if(node.right!=null){ //如果有右子树,则找右子树的最左节点 node = node.right; while(node.left!=null) node = node.left; return node; } while(node.next!=null){ //没右子树,则找第一个当前节点是父节点左孩子的节点 if(node.next.left==node) return node.next; node = node.next; } return null; //退到了根节点仍没找到,则返回null } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 寻涂色内存脚本作者有项目有市场有资源.却技术
- ¥15 蓝桥杯c51单片机问题
- ¥15 ajax跨域问题请求修改代码
- ¥15 python matplotlib
- ¥15 短信测压+语音,有偿,必须用Python
- ¥20 COCOS2DX的protobuf协议注册函数问题
- ¥15 (标签-Pytorch|关键词-Stream)
- ¥15 求深圳2019年开放数据应用创新大赛的营运车辆数据!
- ¥15 软件UI界面绘制折线图
- ¥20 用c语言写一个团队考勤系统