日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode Algorithm 9. 回文数

發布時間:2024/5/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode Algorithm 9. 回文数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

9. 回文數

Ideas

算法:迭代
數據結構:一個變量就OK
思路:

  • 首先負數肯定都不是回文數,所以遇到負數可以直接return false;
  • 針對最后一位是0的情況,因為0不能作為開頭,所以只要最后一位數字是0并且這個數字本身不是0,也可以直接return false;
  • 突然間想到之前做的LeetCode Algorithm 7. 整數反轉,根據回文數的定義,把一個整數反轉之后那么它應該還等于它本身;
  • 直接翻轉的話有可能會導致int類型整數溢出,所以需要優化一下:因為回文數是對稱的,所以從中間位置往后的翻轉操作都是多余的,只需要后一半數就可以了;
  • 針對奇數個位數的回文數,可以直接把翻轉后的數字的最后一位去掉。
  • Code

    C++

    class Solution { public:bool isPalindrome(int x) {if (x < 0 || (!(x % 10) && x)) return false;int rev = 0;while (rev < x) {rev = rev * 10 + x % 10;x /= 10;}return rev == x || rev / 10 == x; } };

    Python

    class Solution:def isPalindrome(self, x):if x<0:return Falseif x<10:return Trueif x % 10 == 0:return Falsex_str = str(x)if x_str[::-1] == x_str:return Truereturn False

    總結

    以上是生活随笔為你收集整理的LeetCode Algorithm 9. 回文数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。