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

首頁 > 學院 > 開發(fā)設計 > 正文

Leet Code Stack Problem 棧問題合集

2019-11-10 22:09:14
字體:
來源:轉載
供稿:網友

總結

棧問題通常和對稱聯(lián)系起來,一個出現(xiàn),必須和另一個出現(xiàn)才合法,例如,出現(xiàn)“(”,就要出現(xià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.

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

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

代碼:

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(); }}

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 梓潼县| 邯郸县| 江源县| 定州市| 贺州市| 永吉县| 宁波市| 察雅县| 平泉县| 新化县| 廊坊市| 蚌埠市| 青海省| 永川市| 桦南县| 天峨县| 黎川县| 谷城县| 荃湾区| 石首市| 湄潭县| 德州市| 新巴尔虎左旗| 理塘县| 祁门县| 屏东市| 信阳市| 偏关县| 策勒县| 霍林郭勒市| 兴化市| 饶河县| 瑞金市| 沛县| 仙居县| 宁海县| 建始县| 东乌珠穆沁旗| 奉新县| 灵山县| 潮安县|