Java实现:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。
2017-07-09 11:53
513 查看
import java.util.Arrays; import java.util.Scanner; public class Tree4 { static boolean verifysequence(int[] sequence){ int length=sequence.length; int root=sequence[length-1]; if(sequence==null||length <=0) return false; //在二叉搜索树中左子树的节点小于根节点 int i=0; for (; i < length-1; i++) { if(sequence[i]>root) break; } //在二叉搜索树中右子树的节点大于根节点 int j=i; for(;j<length-1;j++){ if(sequence[j]<root) return false; } //判断左子树是不是二叉搜索树 boolean left=true; if(i>0) left=verifysequence(Arrays.copyOfRange(sequence, 0, i)); //判断右子树是不是二叉树 boolean right=true; if(i<length-1) right=verifysequence(Arrays.copyOfRange(sequence, i, sequence.length-1)); return(left&&right); } public static void main(String[] args) { Scanner sc=new Scanner(System.in); String[] sr=sc.nextLine().split(" "); int[] arr=new int[sr.length]; for (int i = 0; i < sr.length; i++) { arr[i]=Integer.parseInt(sr[i]); } System.out.println(verifysequence(arr)?"true":"false"); sc.close(); } }
相关文章推荐
- java实现输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- java 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 【剑指offer24】输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- java 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 剑指offer_输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 《剑指Offer》输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 每天学习一算法系列(9) (输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果)
- 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某个二叉搜索树的前序遍历结果
- 【数据结构】【输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果】
- 二叉搜索树的后序遍历序列输入一个整数数组,判断该数组是不是二叉搜索树的后序遍历序列
- 判断一个整数数组是不是二叉搜索树的后序遍历序列
- 判断一个整数数组是不是二叉搜索树的后序遍历序列