成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

每日算法:有效的括號

開發 前端 算法
當遍歷完成時,所有已匹配的字符都已匹配出棧,如果此時棧為空,則字符串有效,如果棧不為空,說明字符串中還有未匹配的字符,字符串無效。

 [[420388]]

給定一個只包括 '(' ,')' ,'{' ,'}' ,'[' ,']' 的字符串,判斷字符串是否有效。

有效字符串需滿足:

  • 左括號必須用相同類型的右括號閉合。
  • 左括號必須以正確的順序閉合。

注意空字符串可被認為是有效字符串。

示例 1:

  1. 輸入: "()" 
  2. 輸出: true 

示例 2:

  1. 輸入: "()[]{}" 
  2. 輸出: true 

示例 3:

  1. 輸入: "(]" 
  2. 輸出: false 

示例 4:

  1. 輸入: "(]" 
  2. 輸出: false 

示例 5:

  1. 輸入: "([)]" 
  2. 輸出: false 

解答:利用棧結構

解題思路: 將字符串中的字符依次入棧,遍歷字符依次判斷:

  • 首先判斷該元素是否是 { 、 ( 、 [ ,直接入棧
  • 否則該字符為 } 、 ) 、 ] 中的一種,如果該字符串有效,則該元素應該與棧頂匹配,例如棧中元素有 ({, 如果繼續遍歷到的元素為 ), 那么當前元素序列為 ({) 是不可能有效的,所以此時與棧頂元素匹配失敗,則直接返回 false ,字符串無效

當遍歷完成時,所有已匹配的字符都已匹配出棧,如果此時棧為空,則字符串有效,如果棧不為空,說明字符串中還有未匹配的字符,字符串無效

畫圖幫助理解一下:

代碼實現:

  1. const isValid = function(s) { 
  2.     let map = { 
  3.         '{''}'
  4.         '('')'
  5.         '['']' 
  6.     } 
  7.     let stack = [] 
  8.     for(let i = 0; i < s.length ; i++) { 
  9.         if(map[s[i]]) { 
  10.             stack.push(s[i]) 
  11.         } else if(s[i] !== map[stack.pop()]){ 
  12.             return false 
  13.         } 
  14.     } 
  15.     return stack.length === 0 
  16. }; 

時間復雜度:O(n)

空間復雜度:O(n)

責任編輯:武曉燕 來源: 三分鐘學前端
相關推薦

2020-10-16 08:09:58

算法代碼字符串

2022-01-19 09:01:28

字符串LeetCode

2021-10-19 10:09:21

三角形個數數組

2021-03-02 08:21:58

LeetCode括號

2021-10-29 07:25:32

螺旋矩陣整數

2021-10-28 19:33:36

矩陣圖像內存

2021-11-12 09:44:03

字符串算法復雜度

2021-11-19 07:54:40

前端

2021-10-27 10:43:36

數據流中位數偶數

2021-09-30 09:58:14

路徑總和二叉樹

2021-09-03 09:41:36

字符串時間復雜度

2021-11-04 09:59:03

動態規劃策略

2021-09-02 09:22:13

算法無重復字符

2021-09-10 08:31:54

翻轉字符串單詞

2021-10-26 00:23:26

算法高頻元素

2021-09-15 07:56:32

二叉樹層次遍歷

2021-09-29 10:19:00

算法平衡二叉樹

2021-09-28 06:28:51

二叉樹公共祖先

2021-09-08 09:52:34

語言

2021-08-26 05:08:25

相鄰重復項算法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品久久久久久久久久 | 国产999精品久久久久久绿帽 | 免费观看毛片 | 日操操| 91国产精品 | 中文字幕精品视频 | 自拍偷拍中文字幕 | 日韩影院一区 | av福利网站 | 极品电影院 | 日韩在线视频一区二区三区 | 国产成人精品久久二区二区91 | 国产精品一区二区三区在线 | 青青草在线视频免费观看 | 久久久久久久一级 | 91亚洲精品国偷拍自产在线观看 | 日韩和的一区二区 | 麻豆国产一区二区三区四区 | 亚洲第一av | 伊人久久综合 | 91热在线| 色.com| 久久久91精品国产一区二区三区 | 欧美日韩一| 成人精品影院 | 亚洲一区不卡 | 99视频免费播放 | 久久久久亚洲精品中文字幕 | 日韩毛片| 成人影视网址 | 毛片一区二区三区 | 久久99精品久久久久 | 亚洲精品1区2区3区 91免费看片 | 观看av | 人人看人人射 | 一二三区视频 | 国产特级毛片aaaaaa | 成人欧美一区二区 | 免费在线看黄 | 人人做人人澡人人爽欧美 | 一区二区三区四区日韩 |