给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针(Java语言实现)
这是剑指Offer的题目,我的思路是这样的,就是把中序遍历的节点依次添加进ArrayList中,然后遍历ArrayList,找到目标节点的下一个节点就可以返回了,下面是我思路的代码实现。
package Day43;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @Author Zhongger
* @Description 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
* @Date 2020.3.15
*/
public class GetNextSolution {
public List<TreeLinkNode> treeNodeArrayList = new ArrayList<>();
public static void main(String[] args) {
GetNextSolution getNextSolution = new GetNextSolution();
TreeLinkNode root = new TreeLinkNode(8);
TreeLinkNode node6 = new TreeLinkNode(6);
TreeLinkNode node10 = new TreeLinkNode(10);
TreeLinkNode node5 = new