leetcode503. Next Greater Element II

2019-12-28
阅读 2 分钟
1.9k
Given a circular array (the next element of the last element is the first element of the array), print the Next Greater Number for every element. The Next Greater Number of a number x is the first greater number to its traversing-order next in the array, which means you could search circularly to...

leetcode232 Implement Queue using Stacks

2018-01-04
阅读 3 分钟
2k
通过队列实现一个栈的功能。栈的api为push(压入栈顶),pop(出栈),peek(栈顶元素),empty(栈是否为空)。这道题和之前的使用栈实现队列功能是类似的,可以参考我的这篇博客。

leetcode150. Evaluate Reverse Polish Notation

2017-08-22
阅读 3 分钟
1.9k
计算后缀表达式。我们一般看到的数学表达式就是中缀表达式,也就是将符号放在两个数字之间。后缀表达式也就是将运算符放在相应数字的后面。后缀表达式相当于树中的后序遍历。

leetcode101. Symmetric Tree

2017-07-21
阅读 2 分钟
1.4k
通过栈的形式同样可以实现比较。将需要进行比较的节点依次压入栈中。每次从栈中取出两个进行比较的节点比较。有点像level traversal的思路。

leetcode 94. Binary Tree Inorder Traversal

2017-07-18
阅读 2 分钟
2.2k
这里需要利用栈的数据结构。如果当前节点存在左子节点,则继续遍历左子树直到最后一个左子节点。然后依次处理栈中的元素。如果栈顶元素有右子节点,则将其右子节点压入栈中作为root,再继续遍历root的左子节点。当root和stack都为空时,遍历结束。

leetcode84. Largest Rectangle in Histogram

2017-07-18
阅读 4 分钟
2.2k
这里我首先想到的是leetcode 42 Trapping Rain Water,可以参考我的这篇博客。因为在42题中,如果我找到了当前矩形左右的最近最高矩形即可。而在本题中,同样是需要找到该矩形左右的最高矩形,但不同的是,一旦我在左右搜寻的过程中遇到了一个比当前矩形矮的矩形,遍历即结束。所以两道题目的要求还是存在区别的。

leetcode71. Simplify Path

2017-07-02
阅读 2 分钟
2.8k
标题文字 {代码...} 简化unix风格的绝对路径。这里简单说一下unix风格的路径: .表示当前文件夹,即不进行任何操作 ..表示返回上层文件夹,如果已经至根目录,则不进行任何操作 /表示路径的分割线,多个连续的/等价于/ 这里我们需要将复杂的unix路径,例如/a/./b/../../c/简化成最简形式/c 思路和代码 从直观的角度思考...

leetcode42 Trapping Rain Water

2017-06-15
阅读 6 分钟
3.5k
假设这些是一些间隔的木板,问最多能够装多少水。也就是一个区域性的短板问题。其实一个区间能够乘的最大水量,取决于它的左右最近且最高的木板的长度。当然除了通过多个区间的和来计算总体的盛水量,还可以通过横向的划分来计算盛水量。这些将在接下来中的代码一一分析。官方也提供了一些答案,这里将给出相应的java实...