2023年8月23日 星期三

【LeetCode】【Kotlin】20. Valid Parentheses (stack (使用MutableList))

 

  1. class Solution {
  2. fun isValid(s: String): Boolean {
  3. var stack : MutableList<Char> = mutableListOf()
  4. for (char in s){
  5. if(char == '}' || char == ')' || char == ']'){
  6. val popedStack = if(stack.size > 0){
  7. stack.removeAt(stack.size-1)
  8. }else{
  9. 'x'
  10. }
  11. when(char){
  12. '}' -> if(popedStack != '{') return false
  13. ')' -> if(popedStack != '(') return false
  14. ']' -> if(popedStack != '[') return false
  15. }
  16. }else{
  17. stack.add(char)
  18. }
  19. }
  20. return stack.size == 0
  21. }
  22. }

注意 : "[(])"的輸出結果是false。但"[()]"為true。

(用時45分鐘)

0 comments:

張貼留言