国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Leet Code Stack Problem 棧問(wèn)題合集

2019-11-11 01:13:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

總結(jié)

棧問(wèn)題通常和對(duì)稱聯(lián)系起來(lái),一個(gè)出現(xiàn),必須和另一個(gè)出現(xiàn)才合法,例如,出現(xiàn)“(”,就要出現(xiàn)“)”才合法,當(dāng)遇到對(duì)稱的問(wèn)題時(shí),可以考慮是不是棧問(wèn)題

1. Leet Code Oj 20. Valid Parentheses

Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.

The brackets must close in the correct order, “()” and “()[]{}” are all valid but “(]” and “([)]” are not.

給定一個(gè)只包含字符’(’,’)’,’{‘,’}’,’[‘和’]’的字符串,確定輸入字符串是否有效。

括號(hào)必須以正確的順序關(guān)閉,“()”和“()[] {}”都有效,但“(]”和“([]]”不是。

代碼:

public class Solution { public boolean isValid(String s) { Stack<Integer> stack = new Stack<Integer>(); String rule = "()[]{}"; for(int i=0; i<s.length(); i++){ int index = rule.indexOf(s.substring(i, i+1)); if(index % 2 == 1){ if(stack.isEmpty() || stack.pop() != index-1){ return false; } }else{ stack.push(index); } } return stack.isEmpty(); }}

這里的思路是: “(”必須和“)”對(duì)應(yīng),因此定義一個(gè)rule = “(){}[]”,可見左邊的下標(biāo)是偶數(shù),右邊的下標(biāo)是基數(shù)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 健康| 朝阳县| 济源市| 河西区| 顺昌县| 花莲县| 西平县| 郧西县| 宜良县| 金坛市| 曲松县| 安化县| 乌拉特中旗| 富宁县| 察哈| 理塘县| 平顶山市| 兴安盟| 年辖:市辖区| 合江县| 忻城县| 响水县| 瓮安县| 长子县| 卢龙县| 广宗县| 西充县| 梧州市| 和田市| 赣州市| 临邑县| 荃湾区| 饶阳县| 黄陵县| 玉溪市| 松潘县| 化隆| 文昌市| 泾川县| 博兴县| 南溪县|