作者JIWP (神楽めあ的錢包)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Fri Apr 5 14:35:15 2024
1544. Make The String Great
如果兩個相鄰的字元是同一個字母的大小寫,就把這兩個字元移除
回傳移除過後的字串
思路:
用兩個index
一個指向目前的字元:i
一個指向要比較的字元:idx
當i跟idx是大小寫關係就把idx--
反之把idx++,並且s[idx]=s[i]
C code:
bool chk(char a,char b){
return a-b==32 || b-a==32;
}
char* makeGood(char* s) {
int idx=0;
for (int i=1;i<strlen(s);i++){
if (idx>-1 &&chk(s[idx],s[i])){
idx--;
}else{
idx++;
s[idx]=s[i];
}
}
idx++;
if (idx==0){
return "";
}
if (idx<strlen(s)){
s[idx]='\0';
}
return s;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.26.211 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1712298917.A.1C8.html
推 wwndbk: 大師 04/05 14:36
→ digua: 大師 04/05 14:45
→ SecondRun: 大師 04/05 14:50