https://leetcode.com/problems/valid-parentheses/submissions/880634555/
給定字符串,檢查括號是否匹配,例如:{}(){}, yes, {([])}, yes, {[)}, no,
結(jié)題思路:此題思路比較簡單明確,使用stack, 是左括號時(shí)入棧,右括號時(shí)出棧并檢查是否匹配,
字符串掃描完需要檢查棧是否為空,空代表完全匹配,
leetcode C語言,C++ 盡量不要用全局變量,否則容易出現(xiàn)Testcase 能過,sumbit 不能過
void push(char *stack_buf, uint32_t *used_stack, char str)
{
stack_buf[*used_stack] = str;
*used_stack += 1;
}
char pop(char *stack_buf, uint32_t *used_stack)
{
*used_stack -= 1;
return stack_buf[*used_stack];
}
bool stack_empty(char *stack_buf, uint32_t *used_stack)
{
return *used_stack< 1 ? true : false;
}
bool parenthes_match(char a, char b)
{
if ((a == '(' && b == ')')
|| (a == '[' && b == ']')
|| (a == '{' && b == '}'))
return true;
return false;
}
bool isValid(char * s) {
char stack_buf[10000] = {0};
uint32_t used_stack = 0;
for (uint32_t i = 0; i< strlen(s); i++) {
switch (s[i]) {
case '[':
case '(':
case '{':
push(stack_buf, &used_stack, s[i]);
break;
default:
if (stack_empty(stack_buf, &used_stack)
|| !parenthes_match(pop(stack_buf, &used_stack), s[i]))
return false;
break;
}
}
return stack_empty(stack_buf, &used_stack);
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文標(biāo)題:Leetcode每日刷題--左右括號匹配-創(chuàng)新互聯(lián)
URL標(biāo)題:http://www.chinadenli.net/article32/dgehsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)頁設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、Google、域名注冊、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容