更新 0150.逆波兰表达式求值 排版格式修复

This commit is contained in:
jinbudaily
2023-07-20 14:57:59 +08:00
parent 70888c2b60
commit 7f4d74049e

View File

@ -5,8 +5,6 @@
<p align="center"><strong><a href="https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A">参与本项目</a>,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!</strong></p> <p align="center"><strong><a href="https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A">参与本项目</a>,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!</strong></p>
> 这不仅仅是一道好题,也展现出计算机的思考方式 > 这不仅仅是一道好题,也展现出计算机的思考方式
# 150. 逆波兰表达式求值 # 150. 逆波兰表达式求值
@ -63,9 +61,13 @@
* 适合用栈操作运算:遇到数字则入栈;遇到运算符则取出栈顶两个数字进行计算,并将结果压入栈中。 * 适合用栈操作运算:遇到数字则入栈;遇到运算符则取出栈顶两个数字进行计算,并将结果压入栈中。
# 思路 ## 算法公开课
《代码随想录》算法视频公开课:[栈的最后表演! | LeetCode150. 逆波兰表达式求值](https://www.bilibili.com/video/BV1kd4y1o7on),相信结合视频再看本篇题解,更有助于大家对本题的理解。 **[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[栈的最后表演! | LeetCode150. 逆波兰表达式求值](https://www.bilibili.com/video/BV1kd4y1o7on),相信结合视频再看本篇题解,更有助于大家对本题的理解**
## 思路
### 正题
在上一篇文章中[1047.删除字符串中的所有相邻重复项](https://programmercarl.com/1047.删除字符串中的所有相邻重复项.html)提到了 递归就是用栈来实现的。 在上一篇文章中[1047.删除字符串中的所有相邻重复项](https://programmercarl.com/1047.删除字符串中的所有相邻重复项.html)提到了 递归就是用栈来实现的。
@ -117,7 +119,7 @@ public:
* 空间复杂度: O(n) * 空间复杂度: O(n)
## 题外话 ### 题外话
我们习惯看到的表达式都是中缀表达式,因为符合我们的习惯,但是中缀表达式对于计算机来说就不是很友好了。 我们习惯看到的表达式都是中缀表达式,因为符合我们的习惯,但是中缀表达式对于计算机来说就不是很友好了。
@ -134,11 +136,9 @@ public:
> During the 1970s and 1980s, Hewlett-Packard used RPN in all of their desktop and hand-held calculators, and continued to use it in some models into the 2020s. > During the 1970s and 1980s, Hewlett-Packard used RPN in all of their desktop and hand-held calculators, and continued to use it in some models into the 2020s.
## 其他语言版本 ## 其他语言版本
java: ### Java:
```Java ```Java
class Solution { class Solution {
@ -164,7 +164,7 @@ class Solution {
} }
``` ```
python3 ### Python3
```python ```python
from operator import add, sub, mul from operator import add, sub, mul
@ -201,7 +201,8 @@ class Solution:
``` ```
Go: ### Go:
```Go ```Go
func evalRPN(tokens []string) int { func evalRPN(tokens []string) int {
stack := []int{} stack := []int{}
@ -228,7 +229,7 @@ func evalRPN(tokens []string) int {
} }
``` ```
javaScript: ### JavaScript:
```js ```js
var evalRPN = function (tokens) { var evalRPN = function (tokens) {
@ -259,7 +260,7 @@ var evalRPN = function (tokens) {
}; };
``` ```
TypeScript ### TypeScript
普通版: 普通版:
@ -324,7 +325,8 @@ function evalRPN(tokens: string[]): number {
}; };
``` ```
Swift ### Swift
```Swift ```Swift
func evalRPN(_ tokens: [String]) -> Int { func evalRPN(_ tokens: [String]) -> Int {
var stack = [Int]() var stack = [Int]()
@ -357,7 +359,8 @@ func evalRPN(_ tokens: [String]) -> Int {
} }
``` ```
C#: ### C#:
```csharp ```csharp
public int EvalRPN(string[] tokens) { public int EvalRPN(string[] tokens) {
int num; int num;
@ -391,8 +394,8 @@ public int EvalRPN(string[] tokens) {
} }
``` ```
### PHP
PHP
```php ```php
class Solution { class Solution {
function evalRPN($tokens) { function evalRPN($tokens) {
@ -417,7 +420,8 @@ class Solution {
} }
``` ```
Scala: ### Scala:
```scala ```scala
object Solution { object Solution {
import scala.collection.mutable import scala.collection.mutable
@ -447,7 +451,7 @@ object Solution {
} }
``` ```
rust: ### Rust:
```rust ```rust
impl Solution { impl Solution {