https://leetcode.cn/problems/P5rCT8/
题目要求
给定一棵二叉搜索树和其中的一个节点 p ,找到该节点在树中的中序后继。如果节点没有中序后继,请返回 null 。
节点 p 的后继是值比 p.val 大的节点中键值最小的节点,即按中序遍历的顺序节点 p 的下一个节点。
方法:中序遍历
- 这里不需要中序遍历的完整序列,所以只用维护两个节点,一个指向当前节点cur,一个指向当前节点的前置pre,如果pre节点和p节点相等,返回当前及诶按。若循环结束没有返回则返回null
public TreeNode inorderSuccessor(TreeNode root, TreeNode p) {
// 用栈来进行中序遍历
Deque<TreeNode> stack = new