【leetcode】42. (Hard) Trapping Rain Water

题目链接


解题思路:
双指针

提交代码:

class Solution {
    public int trap(int[] height) {
    	int left=0,right=height.length-1,min,sum=0;
    	
    	while(left<right) {
    		min=height[left]<height[right]?height[left]:height[right];
    		
    		if(height[left]<height[right]) {
    			left++;
    			while(left<right&&height[left]<min)
    			sum+=min-height[left++];
    		}
    		else {
    			right--;
    			while(left<right&&height[right]<min)
    			sum+=min-height[right--];
    		}
    	}
    	return sum;
    }
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AXIMI/article/details/83617217