LeetCode——驗證迴文串
阿新 • • 發佈:2018-12-30
bool isPalindrome(string s) { int lenght = s.size(); bool i_is_char; bool j_is_char; bool i_is_num; bool j_is_num; int i = 0; int j = lenght - 1; while(i <= j) { i_is_char = (s[i] >= 'a' & s[i] <= 'z') | (s[i] >= 'A' & s[i] <= 'Z'); j_is_char = (s[j] >= 'a' & s[j] <= 'z') | (s[j] >= 'A' & s[j] <= 'Z'); i_is_num = s[i] <= '9' & s[i] >= '0'; j_is_num = s[j] <= '9' & s[j] >= '0'; if(!(i_is_char | i_is_num)) { i++; continue; } else if(!(j_is_char | j_is_num)) { j--; continue; } else { if(s[i] == s[j]) { i++; j--; } else if ( abs(s[i] - s[j]) == 32 & i_is_char & j_is_char) { i++; j--; } else return false; } } return true; }