单调栈

38 阅读1分钟

LeetCode42-接雨水问题

单调栈中存储的是数组的下标,对应的值从栈顶到栈底是递增的。如果当前元素比栈顶元素的值大,那么栈顶元素就出栈,此时如果栈不为空说明出栈的这个元素在原数组中左边还有比它大的值,也就是说出栈的这个元素的左边和右边都有比它大的值,所以它上面肯定是能容纳水的。否则栈为空,说明出栈的这个元素在原数组中左边没有比它大的值,所以它是不能容纳水的