您的位置:首页 > 其它

判断一个数组是否是一棵树的后续遍历

2015-10-01 20:17 429 查看
public boolean judge (int[] nums) {

if (nums.length == 0 || nums == null)
return true;
int sum = 0;
for (int i = 0; i < nums.length - 1; i++) {
if (nums[i] >= nums[nums.length - 1]) {
sum = i;
break;
}
}

int[] nums1 = new int[sum];
for (int i = 0; i < nums1.length - 1; i++) {
nums1[i] = nums[i];
}

int[] nums2 = new int[nums.length - 1 - sum];
for (int i = nums1.length; i < nums.length -2; i++) {
if (nums[i] < nums[nums.length - 1])
return false;
nums2[i - nums1.length] = nums[i];
}

boolean r1 = judge(nums1);
boolean r2 = judge(nums2);
if (r1 && r2)
return true;
return false;
}
判断一个数组是否是一棵树的后续遍历,写代码写出感觉来了,停不下来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: