mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
添加(0020.有效的括号.md):增加typescript版本
This commit is contained in:
@ -283,8 +283,60 @@ var isValid = function(s) {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
TypeScript:
|
||||||
|
|
||||||
|
版本一:普通版
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
function isValid(s: string): boolean {
|
||||||
|
let helperStack: string[] = [];
|
||||||
|
for (let i = 0, length = s.length; i < length; i++) {
|
||||||
|
let x: string = s[i];
|
||||||
|
switch (x) {
|
||||||
|
case '(':
|
||||||
|
helperStack.push(')');
|
||||||
|
break;
|
||||||
|
case '[':
|
||||||
|
helperStack.push(']');
|
||||||
|
break;
|
||||||
|
case '{':
|
||||||
|
helperStack.push('}');
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (helperStack.pop() !== x) return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return helperStack.length === 0;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
版本二:优化版
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
function isValid(s: string): boolean {
|
||||||
|
type BracketMap = {
|
||||||
|
[index: string]: string;
|
||||||
|
}
|
||||||
|
let helperStack: string[] = [];
|
||||||
|
let bracketMap: BracketMap = {
|
||||||
|
'(': ')',
|
||||||
|
'[': ']',
|
||||||
|
'{': '}'
|
||||||
|
}
|
||||||
|
for (let i of s) {
|
||||||
|
if (bracketMap.hasOwnProperty(i)) {
|
||||||
|
helperStack.push(bracketMap[i]);
|
||||||
|
} else if (i !== helperStack.pop()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return helperStack.length === 0;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
Swift
|
Swift
|
||||||
|
|
||||||
```swift
|
```swift
|
||||||
func isValid(_ s: String) -> Bool {
|
func isValid(_ s: String) -> Bool {
|
||||||
var stack = [String.Element]()
|
var stack = [String.Element]()
|
||||||
|
Reference in New Issue
Block a user