給定乙個只包括'('
,')'
,''
,'['
,']'
的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入:"()"輸出:true示例 2:
輸入:"(){}"輸出:true示例 3:
輸入:"(]"輸出:false示例 4:
輸入:"([)]"輸出:false示例 5:
輸入:""輸出:true思路:遇到括號匹配的問題首先想到要用棧,以下兩種方法大同小異
方法一:如果右括號不能與棧頂的元素匹配,就入棧,否則將棧頂元素彈出,最後判斷棧是否為空,為空則有效,否則無效
class solution ')
c.pop();
else
c.push(s[i]);
}if(c.empty())
return true;
else
return false;
}};
方法二:遇到左括號就進棧,遇到右括號,就判斷棧頂元素是否與之匹配,匹配的話就pop出棧,不匹配的話就返回false。
class solution ' && store.top()!='
}return store.empty();
}};
20 有效括號
1.題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。2.示例 輸入 輸出 true輸入 輸出 false3.思路 可以採用棧來解決,第一步 判斷棧是否空,為空則進乙個括號,若不為空,則判斷當前括號和棧頂元素是否匹配,不...
20 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
20 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true思路 注釋 class solution if s.length 2 1 stackstack new stack ch...