int palindrome(char * str){
char * pt1 = str;
char * pt2 = str;
if(pt1==NULL){
std::cout<<"\n invalid string";
return -1;
}
while(*pt2 != '\0')
pt2++;
pt2--;
while(pt1 < pt2){ // why does this work correctly ?
if(*pt1 != *pt2){
std::cout<<"\n not palindrome";
return 0;
}
else{
pt1++;
pt2--;
}
}
std::cout<<"\n yes palindrome";
return 1;
}
你好
這是一個函數來檢查傳遞的char *是否指向迴文/不是。
這裏兩個指針
PT1 - 從begining移動開始FWD的
PT2 - 從年底開始向後移動
現在我不想讓他們繼續一旦他們在中間相遇..
所以我檢查,如果總是PT1 爲什麼?我不比較* pt1 vs * pt2。
它比較哪些值?指針如何比較?
s/continuous/contiguous/g :) +1 –