Kotlin Leetcode - 20. Valid Parentheses
class Solution {
fun isValid(s: String): Boolean {
}
}
解題思路
這題可以很簡單的用 stack 來進行處理
在 Kotlin 裏面,我們可以用 Deque
來協助我們建立一個 stack
Kotlin 參考解答
點擊展開解答
class Solution {
fun isValid(s: String): Boolean {
var deque = ArrayDeque<Char>()
for (i in 0..s.length-1) {
var character = s.get(i)
println(character)
if (character == '(' || character == '[' || character == '{')
{
deque.push(character)
continue;
}
if (deque.isEmpty()) {
return false;
}
when (character) {
')' -> if (deque.getFirst() == '(') {deque.pop()} else { return false }
']' -> if (deque.getFirst() == '[') {deque.pop()} else { return false }
'}' -> if (deque.getFirst() == '{') {deque.pop()} else { return false }
else -> return false
}
}
if(!deque.isEmpty()){
return false
}
return true
}
}
- 回到 leetcode 列表
- 回到 Grind 75 列表