作者gmobug (泡泡蟲蟲)
看板Programming
標題Re: 用C++ 檢查大括號左右對稱
時間Sun Jul 30 10:44:41 2006
※ 引述《[email protected] (無)》之銘言:
: 請問 如何用C++寫一個執行速度快 效率高
: 的檢查大括號的程式?
: 謝謝.
bool lala(char *str)
{
int i,n=0;
for(i=0;i<strlen(str);i++){
if(str[i]=='{'){
n++;
}else if(str[i]=='}'){
n--;
}
if(n<0){
return FALSE;
}
}
if(n>0){
return FALSE;
}else{
return TRUE;
}
}
以上不知道有沒有bug
喔對了...
請自行改成C++的寫法喔
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.42.61
※ 編輯: gmobug 來自: 61.62.42.61 (07/30 10:46)
※ 編輯: gmobug 來自: 61.62.42.61 (07/30 10:47)
※ 編輯: gmobug 來自: 61.62.42.61 (07/30 10:52)
※ 編輯: gmobug 來自: 61.62.42.61 (07/30 10:57)
1F:推 shane123:可是如果程式中有.. char *str="{hi"; 61.62.97.25 07/30 11:03
2F:推 gmobug:這樣..不就不對稱了嗎??還是我看錯問題... 61.62.42.61 07/30 11:07
3F:→ gmobug:喔我大概懂你的意思 61.62.42.61 07/30 11:09
4F:→ gmobug:如果他是要解析算式,用我的寫法沒問題 61.62.42.61 07/30 11:09
5F:→ gmobug:如果是要解析程式碼,就不行了 61.62.42.61 07/30 11:09
6F:→ gmobug:我寫這段原本是用來解析算式的 61.62.42.61 07/30 11:10
7F:→ gmobug:要解析程式碼還要再加上',",\的處理 61.62.42.61 07/30 11:10
8F:→ gmobug:那個在編譯器設計相關書裡面應該會講吧(?) 61.62.42.61 07/30 11:11
9F:推 gmobug:可能還要注意 註解 和 前置 61.62.42.61 07/30 11:16
10F:推 PRAM:它題目不清不楚 誰知道要檢查什麼東西的括號 61.216.182.65 07/30 11:26
11F:→ PRAM:沒有必要為它浪費時間去幫它想答案 61.216.182.65 07/30 11:27
12F:→ shane123:嗯恩~~ 61.62.97.25 07/30 15:44
13F:推 walking:難怪,以前經驗是: 61.64.88.160 07/31 00:27