输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回  true,否则返回  false。假设输入的数组的任意两个数字都互不相同。 如下: 5 / 2 6 / 1 3

区块链毕设网qklbishe.com为您提供问题的解答

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。
如下:

     5     /     2   6   /   1   3

import java.util.*;  public class Solution {     // 后序遍历二叉搜索树判断-单调栈     public boolean verifyPostorder (int[] postorder) {         ArrayDeque<Integer> s = new ArrayDeque<>(); // 单调栈-需要之前的root         int root = Integer.MAX_VALUE; // 一开始最大         for (int i = postorder.length-1; i >= 0; i--) {             if (postorder[i] > root) return false; // 比根大直接返回             while (!s.isEmpty() && s.peek() > postorder[i]) {                 root = s.pop(); // 左值比root小改为左值             }             s.push(postorder[i]); // 右值比root大继续存         }         return true;     } }

32:20

以上就是关于问题输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回  true,否则返回  false。假设输入的数组的任意两个数字都互不相同。 如下: 5 / 2 6 / 1 3的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回  true,否则返回  false。假设输入的数组的任意两个数字都互不相同。 如下: 5 / 2 6 / 1 3