向定位根节点,然后使用中序遍历的方法将节点存入一个List中。从list中找到匹配的节点,输出List的下一个元素即可。
import java.util.ArrayList;
public class Solution {
ArrayList<TreeLinkNode> list = new ArrayList<>();
public TreeLinkNode GetNext(TreeLinkNode pNode)
{
TreeLinkNode temp = pNode;
// 先定位根节点
while(temp.next != null) {
temp = temp.next;
}
addNode(temp);
for(int i=0; i<list.size(); i++) {
if(list.get(i) == pNode) {
if(i != list.size()-1) {
return list.get(i+1);
}
return null;
}
}
return null;
}
public void addNode(TreeLinkNode pNode) {
if(pNode != null) {
addNode(pNode.left);
list.add(pNode);
addNode(pNode.right);
}
}
}
京公网安备 11010502036488号