题目描述[原题链接][https://www.acwing.com/problem/content/description/31/]
给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。
注意:
- 如果给定的节点是中序遍历序列的最后一个,则返回空节点;
- 二叉树一定不为空,且给定的节点一定不是空节点;
样例
| 1 | 假定二叉树是:[2, 1, 3, null, null, null, null], 给出的是值等于2的节点。 | 
算法描述
分两种情况讨论
- 当p.right!=null,一直找有子树的左子树,直到左子树的左子树为空,返回当前结点;
- 当p.right==null,需要找到该节点的父节点,如果p==p.father.right,那么当前结点的后继就是p.father.father;
C++代码
| 1 | /** | 
Java代码
| 1 | /** |