二叉树的下一个节点

二叉树的下一个结点

http://www.nowcoder.com/questionTerminal/9023a0c988684a53960365b889ceaf5e

public class Solution {
//新建linkedlist,来记录中序遍历的结果,方便查找
LinkedList<treelinknode> linkedList=new LinkedList<>();
TreeLinkNode node=null;
public TreeLinkNode GetNext(TreeLinkNode pNode)
{
//首先找到根节点,中序遍历
TreeLinkNode p=pNode;
while (p.next!=null){
p=p.next;
}
//中序遍历
InOrder(p);
for (int i=0;i<linkedList.size();i++){
//从集合中找到指定节点的的位置
boolean equals = linkedList.get(i).equals(pNode);
if(equals==true){
//如果此位置是最后的,那他的下一个节点就是空
if(i==linkedList.size()-1){
return null;
}
//是集合中除了最后一个节点的位置,那下一个索引位置i+1就是中序遍历的下一个节点的位置
node = linkedList.get(i + 1);
}
}
return node;
}
public void InOrder(TreeLinkNode node){
if(node!=null){
InOrder(node.left);
linkedList.add(node);
InOrder(node.right);
}
}</treelinknode>

全部评论

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java
Frank_zhang:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务