Update the algorithm for 二叉搜索树的后序遍历序列
This commit is contained in:
@ -1532,10 +1532,10 @@ private boolean verify(int[] sequence, int first, int last)
|
|||||||
return true;
|
return true;
|
||||||
int rootVal = sequence[last];
|
int rootVal = sequence[last];
|
||||||
int cutIndex = first;
|
int cutIndex = first;
|
||||||
while (cutIndex < last && sequence[cutIndex] <= rootVal)
|
while (cutIndex < last && sequence[cutIndex] > rootVal)
|
||||||
cutIndex++;
|
cutIndex++;
|
||||||
for (int i = cutIndex + 1; i < last; i++)
|
for (int i = cutIndex + 1; i < last; i++)
|
||||||
if (sequence[i] < rootVal)
|
if (sequence[i] > rootVal)
|
||||||
return false;
|
return false;
|
||||||
return verify(sequence, first, cutIndex - 1) && verify(sequence, cutIndex, last - 1);
|
return verify(sequence, first, cutIndex - 1) && verify(sequence, cutIndex, last - 1);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user