LeetCode 9 迴文數
題目要求:
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121
輸出: true
示例 2:
輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個迴文數。
進階:
你能不將整數轉為字串來解決這個問題嗎?
1.首先我們可以通過將整數轉為字串來解決問題,比較簡單,我們可以對比字串首位和末位是否相同,然後依次遞進,前面的數字向後,後面的數字向前。
C++程式碼1:
class Solution {
public:
bool isPalindrome(int x) {
string str = to_string(x);
for (int i = 0; i < str.length(); i++) {
if (str[i] != str[str.length() - 1 - i]) {
return false;
}
}
return true;
}
};
結果:
雖然通過了,課室beat 2.87%,也太低了吧!!!!
看來轉字串還是不行,果然要按照題目的進階來做,不用轉字串的辦法。
2.首先我們可以通過將整數轉為字串來解決問題,比較簡單,我們可以對比字串首位和末位是否相同,然後依次遞進,前面的數字向後,後面的數字向前。
C++程式碼2:
class Solution { public: bool isPalindrome(int x) { if(x<0|| (x!=0 &&x%10==0)) return false; int sum=0; while(x>sum) { sum = sum*10+x%10; x = x/10; } return (x==sum)||(x==sum/10); } };
結果:
提升了一些,不過還是偏低啊!!
Python3程式碼:
最後贈送一個彩蛋,python果然簡單實在暴力,適合初學者,一行程式碼解決問題。。。
class Solution:
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
return(str(x)==str(x)[::-1])
結果:
結果也很可觀,beat93.52%。。。
相關推薦
leetcode 9. 迴文數(java)
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴
[LeetCode]9 迴文數
題目描述 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文
LeetCode 9. 迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。
Leetcode 9.迴文數(Python3)
9.迴文數 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。
LeetCode 9. 迴文數 Palindrome Number(C語言)
題目描述: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左
LeetCode 9 迴文數 (Palindrome Number) —— 得到整形數的位數及尾數
這裡使用一種較笨的方法,適合初學者理解。 主要的過程就是用取餘操作得到最後一位,用除法操作得到一共有幾位。具體程式如下: class Solution { public: bool isPalindrome(int x) {
LeetCode 9.迴文數(Java)
題目描述: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。
leetcode-9.迴文數(水仙花數)
leetcode-9.迴文數(水仙花數) 題意:給定整數,判斷是否是水仙花數(迴文數),返回判斷結果 演算法: 1.判斷負數, 如果是負數直接返回false 2.將整數逐位拆解,用陣列儲存 3.遍歷陣列,若本位與後面對應位不等返回false. Code 1 class Solution
LeetCode 9 迴文數
題目要求: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121-
Leetcode-9 迴文數 python3
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例1: 輸入:121 輸出:true 示例2: 輸入:-121 輸出:false 解釋:從左向右讀,為-121。從右向左讀,為121-。因此它不是一個迴文數。
【LeetCode】#9迴文數(Palindrome Number)
【LeetCode】#9迴文數(Palindrome Number) 題目描述 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: fals
LeetCode題目詳解-9 迴文數
9.迴文數 題目: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為
LeetCode :C語言 9.迴文數
迴文數簡而言之就是對稱的數(負數按題目要求不是),因為上一個題目是反轉整數很自然的就想到了直接反轉之後判斷。 bool isPalindrome(int x) { int out = 0,in = x; int temp; if(x<0)
LeetCode(No.9)--迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。
LeetCode Golang 9.迴文數
9. 迴文數 第一種辦法 :itoa 轉換為字串進行處理: package main import ( "strconv" "fmt" ) //判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 // //示例 1: // //輸入
【LeetCode】9. 迴文數 結題報告 (C++)
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。示例 1:輸入: 121 輸出: true 示例 2:輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。 示例 3:輸入: 10 輸出: fa
【LeetCode】9.迴文數
題目描述: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 演算法思想:轉換為字串,字串再轉置,判斷兩個字串是否相等 class Solution { public boolean isPalindrome(in
9,迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴
【LeetCode】迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴
【每日leetcode】迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解