zoukankan      html  css  js  c++  java
  • PHP算法之回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    示例 1:

    输入: 121
    输出: true
    示例 2:

    输入: -121
    输出: false
    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
    示例 3:

    输入: 10
    输出: false
    解释: 从右向左读, 为 01 。因此它不是一个回文数。
    进阶:

    你能不将整数转为字符串来解决这个问题吗?

    来源:力扣(LeetCode)

    1.这个转为字符串处理
    class Solution {

        /**
         * @param Integer $x
         * @return Boolean
         */
        function isPalindrome($x) {
            $len = strlen($x);
            $str = strrev($x);
            if($len > 0 && $str == $x){
                return true;
            }  
            return false;           
        }
    }
    数学计算
    class Solution {

        /**
         * @param Integer $x
         * @return Boolean
         */
        function isPalindrome($x) {
            //边界判断
            if ($x < 0) return false;

            $i = 1;
            while ($x / $i >= 10){
                $i *= 10;
            }
            if($x > 99){
                while ($x > 1) {
                    $left = intval($x / $i);
                    $right = $x % 10;
                    if ($left != $right) return false;
                    $x = ($x % $i) / 10;
                    $i = $i/100;
                }
            }else{
                    $left = intval($x / $i);
                    $right = $x % 10;
                    if ($left != $right) return false;  
            }


            return true;
                         
        }
    }
  • 相关阅读:
    (转)AS3中实现卡马克卷轴算法
    (转)flash位图缓存cacheAsBitmap
    (转)addFrameScript函数的纠结
    (转)flash安全策略文件
    (转)脏矩形技术学习
    (转)stopImmediatePropagation 和stopPropagation的区别
    (转)flash对象池技术
    揭开嵌入式C面试题背后的玄机
    一次遍历找链表倒数第n个节点
    N!的尾部连续0的个数
  • 原文地址:https://www.cnblogs.com/corvus/p/11965175.html
Copyright © 2011-2022 走看看