思路转自https://blog.youkuaiyun.com/makuiyu/article/details/43650365:
class Solution {
public:
int trap(vector<int>& height) {
int left=0,right=height.size()-1;
int ans=0;
while(left<right)
{
int minHeight=min(height[left],height[right]);
if(height[left]==minHeight)
{
while(left<right&&height[left]<=minHeight)
{
ans+=(minHeight-height[left]);
left++;
}
}
else
{
while(left<right&&height[right]<=minHeight)
{
ans+=(minHeight-height[right]);
right--;
}
}
}
return ans;
}
};