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 (3):迴文數LeetCode
- LeetCode每日一題:迴文數(No.9)LeetCode每日一題
- LeetCode迴文數(Python)LeetCodePython
- 每日打卡
- LeetCode-N9-迴文數LeetCode
- 每日一道演算法:迴文數演算法
- 從0打卡leetcode之day 6--最長迴文串LeetCode
- 每日一道 LeetCode (48):最長迴文子串LeetCode
- leetcode的第9題:迴文數LeetCode
- 【10月打卡~Leetcode每日一題】18. 四數之和(難度:中等)LeetCode每日一題
- Leetcode每日打卡----20200927LeetCode
- 每日學習打卡
- [LeetCode] Palindrome Number 驗證迴文數字LeetCode
- leetcode刷題.763. 劃分字母區間.每日打卡LeetCode
- leetcode刷題.143. 重排連結串列.每日打卡LeetCode
- (迴文串)leetcode各種迴文串問題LeetCode
- 2024/4/23每日打卡
- leetcode第九題Palindrome Number 驗證迴文數字LeetCode
- 特殊迴文數(很坑
- java判斷迴文數Java
- LeetCode - 409 - 最長迴文串LeetCode
- ACM之判斷迴文數ACM
- 演算法每日學打卡:01-21打卡(解答後面整理)演算法
- LeetCode 5.最長迴文子串LeetCode
- LeetCode 234. 迴文連結串列LeetCode
- LeetCode125. 驗證迴文串LeetCode
- 【1月打卡~Leetcode每日一題】86. 分隔連結串列(難度:中等)LeetCode每日一題
- 素數迴文——輸出兩整數之間所有既是迴文數又是素數的數 C++實現C++
- 從零打卡leetcode之day 1--兩數之和LeetCode
- 從零打卡leetcode之day 2---兩數相加LeetCode
- 【遞迴打卡2】求兩個有序陣列的第K小數遞迴陣列
- C語言:迴文數計算C語言
- LeetCode516. 最長迴文子序列LeetCode
- Leetcode[字串] 5. 最長迴文子串LeetCode字串
- leetcode 234.迴文連結串列 JavaLeetCodeJava
- LeetCode-5. 最長迴文子串(Manacher)LeetCode
- 每日一道 LeetCode (1):兩數之和LeetCode
- LeetCode每日一題:自除數(No.728)LeetCode每日一題