1. 题目来源
2. 题目说明
3. 题目解析
没啥好讲的,注意上山是允许持平山峰,下山不允许有持平山峰,判断最后的双指针位置是否相同,或者没有上山、下山的情况就返回 false
即可。
代码:
class Solution {
public:
bool validMountainArray(vector<int>& A) {
if (A.size() < 3) return false;
int l = 0, r = A.size() - 1;
while (l < A.size() - 1 && A[l + 1] >= A[l]) ++l;
while (r > 0 && A[r - 1] > A[r]) --r;
if (l != r || l == A.size() - 1 || r == 0) return false;
return false;
}
};