[LC] 255. Verify Preorder Sequence in Binary Search Tree
Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary search tree.
You may assume each number in the sequence is unique.
Consider the following binary search tree:
5 / \ 2 6 / \ 1 3
class Solution { public boolean verifyPreorder(int[] preorder) { if (preorder == null) { return false; } // keep a decresing stack LinkedList<Integer> stack = new LinkedList<>(); int min = Integer.MIN_VALUE; for (int node: preorder) { if (node < min) { return false; } // get into right subtree while (!stack.isEmpty() && node > stack.peekFirst()) { min = stack.pollFirst(); } stack.offerFirst(node); } return true; } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步