mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-07 15:45:40 +08:00
Merge pull request #1049 from xiaofei-2020/stack4
添加(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
|
||||
func isValid(_ s: String) -> Bool {
|
||||
var stack = [String.Element]()
|
||||
|
Reference in New Issue
Block a user