Leetcode每日打卡20201001-----迴文數
9.迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121
輸出: true
示例 2:
輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個迴文數。
- 進階:
你能不將整數轉為字串來解決這個問題嗎?
- 思路一:轉為字串解決,雙指標,互相遍歷,不等直接返回false,否則為true
class Solution {
public boolean isPalindrome(int x) {
//轉字串
String s = String.valueOf(x);
int left = 0;
int right = s.length() - 1;
while(left < right){
//不等為false
if(s.charAt(left) != s.charAt(right)){
return false;
}
left++;
right--;
}
return true;
}
}
- 思路二:不轉字串,將x複製一份,然後對x進行反向的求這個數
class Solution {
public boolean isPalindrome(int x) {
//邊界處理,這裡x==0要先寫
if(x == 0){
return true;
}
if(x < 0 || x % 10 == 0){
return false;
}
//複製一份,方便之後的對比
int num = x;
int temp = 0;
while(x > 0){
//求這個數的倒過來之後的數
temp = temp * 10 + x % 10;
x /= 10;
}
//相等則為迴文數
return temp == num;
}
}
相關文章
- LeetCode每日一題:迴文數(No.9)LeetCode每日一題
- 每日一道 LeetCode (3):迴文數LeetCode
- Leetcode每日打卡----20200927LeetCode
- LeetCode迴文數(Python)LeetCodePython
- 20241106,LeetCode 每日一題,用 Go 實現整數迴文數判斷LeetCode每日一題Go
- LeetCode9[迴文數]LeetCode
- LeetCode-N9-迴文數LeetCode
- leetcode的第9題:迴文數LeetCode
- 每日一道 LeetCode (48):最長迴文子串LeetCode
- 從0打卡leetcode之day 6--最長迴文串LeetCode
- 每日一道演算法:迴文數演算法
- 每日打卡
- leetcode刷題.143. 重排連結串列.每日打卡LeetCode
- 【10月打卡~Leetcode每日一題】18. 四數之和(難度:中等)LeetCode每日一題
- leetcode刷題.763. 劃分字母區間.每日打卡LeetCode
- leetcode第九題Palindrome Number 驗證迴文數字LeetCode
- 每日學習打卡
- 迴文數
- LeetCode - 409 - 最長迴文串LeetCode
- 2024/4/23每日打卡
- LeetCode125. 驗證迴文串LeetCode
- LeetCode 234. 迴文連結串列LeetCode
- 每日一練(40):驗證迴文串
- LeetCode 5.最長迴文子串LeetCode
- leetcode 234.迴文連結串列 JavaLeetCodeJava
- LeetCode516. 最長迴文子序列LeetCode
- 每日一算--最長迴文子串
- 【每日一題】125. 驗證迴文串每日一題
- 9.迴文數
- 迴文數問題
- LeetCode每日一題:兩數之和(No.1)LeetCode每日一題
- LeetCode每日一題:自除數(No.728)LeetCode每日一題
- 每日一道 LeetCode (1):兩數之和LeetCode
- LeetCode每日一題:求眾數(No.169)LeetCode每日一題
- LeetCode-5. 最長迴文子串(Manacher)LeetCode
- Leetcode[字串] 5. 最長迴文子串LeetCode字串
- 【1月打卡~Leetcode每日一題】86. 分隔連結串列(難度:中等)LeetCode每日一題
- 從零打卡leetcode之day 1--兩數之和LeetCode