Re: [閒聊] 每日leetcode
你版剩我不什麼split
只能一個個慢慢比較了
寫出一堆垃圾code
紫砂
思路:
就以'.'為分界去計算version的大小
cnt=cnt*10+(int)(version[i]-'0')
阿如果是leading 0就略過
如果現在的數字>0,就不要掠過0
就算有一個version到底也不要跳出,要去看另外一個version還有沒有值
C code :
int compareVersion(char* version1, char* version2) {
int idx1=0,idx2=0,n=strlen(version1),m=strlen(version2);
while(idx1<n || idx2<m){
int cnt1=0,cnt2=0;
while(idx1<n && version1[idx1]!='.'){
if (cnt1>0 || version1[idx1]!='0'){
cnt1=cnt1*10+(int)(version1[idx1]-'0');
}
idx1++;
}
while(idx2<m && version2[idx2]!='.'){
if (cnt2>0 || version2[idx2]!='0'){
cnt2=cnt2*10+(int)(version2[idx2]-'0');
}
idx2++;
}
idx1++;
idx2++;
if (cnt1>cnt2){
return 1;
}else if (cnt2>cnt1){
return -1;
}
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.11.31 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714737524.A.52D.html
→
05/03 19:58,
1年前
, 1F
05/03 19:58, 1F
→
05/03 20:00,
1年前
, 2F
05/03 20:00, 2F
推
05/03 20:00,
1年前
, 3F
05/03 20:00, 3F
推
05/03 20:01,
1年前
, 4F
05/03 20:01, 4F
→
05/03 20:02,
1年前
, 5F
05/03 20:02, 5F
推
05/03 20:03,
1年前
, 6F
05/03 20:03, 6F
推
05/03 20:07,
1年前
, 7F
05/03 20:07, 7F
推
05/03 20:22,
1年前
, 8F
05/03 20:22, 8F
討論串 (同標題文章)
完整討論串 (本文為第 181 之 1548 篇):