二叉树的下一个节点

二叉树的下一个结点

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>

全部评论

相关推荐

我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务