Re: [閒聊] 每日leetcode已回收
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
推
04/05 14:36,
1年前
, 1F
04/05 14:36, 1F
→
04/05 14:45,
1年前
, 2F
04/05 14:45, 2F
→
04/05 14:50,
1年前
, 3F
04/05 14:50, 3F
討論串 (同標題文章)
完整討論串 (本文為第 94 之 1548 篇):