LeetCode题目-9

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2021-07-31 10:59:41

简介 LeetCode题目-9


✏Leetcode之PHP版题目解析(9. Palindrome Number)


✏描述

判断是否是一个回文数.


✏题目实例


✏题目分析

基础的解法,首先负数是不可能是回文数字的.如果是回文数字,那么把当前的数反向之后还是和原来的数相等的.


✏解法一

    function isPalindrome($x) {
           if($x<0){
               return false;
           }
           $back=0;$index=$x;
           while($x){
               $back=$back*10+$x%10;
               $x=intval(floor($x/10));
           }
           if($back==$index) {
               return true;
           }else {
               return false;
           }
       }

✏解法二

除了负数不是回文数以外,如果数字以0结尾的也不可能是回文数,尾数是0最高位可没有0和你配对(当然数字是0的话它是回文数),如果是回文数,那么他左半部分和右半部分的反转是一样的.所以我们只需要反转数字的右半部分进行比较即可.

递归

  function isPalindrome($x) {
          if($x<0 || $x%10==0 && $x !=0){
              return false;
          }
          $backNumber=0;
          while($x>$backNumber){
              $backNumber=$backNumber*10+$x%10;
              $x =intval(floor($x/10));
          }
          return $x==$backNumber || $x==intval(floor($backNumber /10));
      }
   

最后return部分,如果数字的长度是奇数位的话,作为一个回文数,数字正中间的位上的数字是不需要进行比较的(自己等于自己),所以需要去掉.

转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云