摘要:
验证栈序列,给定push和pop序列,是否可能是一对出栈入栈组合。输入:pushed = [1,2,3,4,5], popped = [4,3,5,1,2]输出:false解释:1 不能在 2 之前弹出。思路:利用Stack数据结构。从j出发:访问到pop[j]的时候,需要把push里对应的这个值的前面所有值都压入栈。i和j指向当前的push和pop,当栈顶不为pop[j]时,i的值一直入栈并向后... 阅读全文
摘要:
二叉搜索树中的顺序后继:从BST中找到指定节点的下一个节点。比如1的下一个是2,2的下一个是3,4的下一个是5.思路:方法1:递归执行中序遍历,获取list,得到p的下一个。时间O(N),空间O(N)方法2:递归执行中序遍历,在递归过程中获取x的下一个。如果当前值是x,则当前值有可能,它的左子树也有可能有更小的但是也>x的,对左子递归后,选择更接近的(更小的).时间O(logN),空间O(logN... 阅读全文