給定乙個只包括'('
,')'
,''
,'['
,']'
的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入:"()"輸出:true示例 2:
輸入:"(){}"輸出:true示例 3:
輸入:"(]"輸出:false示例 4:
輸入:"([)]"輸出:false示例 5:
輸入:""輸出:true「」的ascii碼相差2:
class solution else
}else
}return stack.isempty();
}}
class solution
else'&&topchar != '
}return stack.isempty();
}}
class solution ')
result.pop();
else
result.push(s[i]);
}return result.empty();
}};
class solution ');
else if(result.empty()||result.top()!=a)
return false;
else
result.pop();
}return result.empty();
}};
佇列 棧 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
棧和佇列 20 有效的括號
遇到左括號入棧,遇到右括號時將對應棧頂左括號出棧,這樣遍歷完之後,棧應為空。建立雜湊表構建左右括號對應關係,用於配對。邊界問題 棧為空時,無法執行pop 操作,因此需要在棧中提前放置乙個無關元素。當完成遍歷時,棧中元素應只有乙個,保證沒有未出棧的左括號,如 流程 遍歷字串,如果遇到左括號,則入棧 p...
棧 有效括號
題目鏈結 題目分析 一道水題,利用棧就好了,當遇到 同理,當以上兩種情況都不滿足時,直接無效,後面的不用判斷 否則最後若棧空則有效,否則無效。class solution 配對成功出棧 else if s i top 1 st top top else if s i top 1 st top top...