1、string轉int的方式:
採用標準庫中atoi函數。
string s = "12";
int a = atoi(s.c_str());
對於其他類型也都有相應的標準庫函數,比如浮點型atof(),long型atol()等等。
//採用sstream頭文件中定義的字符串流對象來實現轉換。
istringstream is("12"); //構造輸入字符串流,流的內容初始化爲“12”的字符串
int i;
is >> i; //從is流中讀入一個int整數存入i中
2、int轉string
採用標準庫中的to_string函數。
int i = 12;
cout << std::to_string(i) << endl;
不需要包含任何頭文件,應該是在utility中,但無需包含,直接使用,還定義任何其他內置類型轉爲string的重載函數,很方便。
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121 輸出: true
示例 2:
輸入: -121 輸出: false 解釋: 從左向右讀, 爲 -121 。 從右向左讀, 爲 121- 。因此它不是一個迴文數。
示例 3:
輸入: 10 輸出: false 解釋: 從右向左讀, 爲 01 。因此它不是一個迴文數
class Solution {
public:
bool isPalindrome(int x) {
if(x<0)
return false;
string s;
s=to_string(x);
int i=0;
int j=s.length()-1;
while(i!=j&&i<j){
if(s[i]!=s[j])
return false;
else{
i++;
j--;
}
}
return true;
}
};
if(x < 0 || (x % 10 == 0 && x != 0)) {
return false;
}
int revertedNumber = 0;
while(x > revertedNumber) {
revertedNumber = revertedNumber * 10 + x % 10;
x /= 10; //注意這個過程
}
return x == revertedNumber || x == revertedNumber/10;