如果不允许对整数字符串处理整数并且不允许进行类型转换,我们如何判断该数字是否为回文(在PHP中)?
我提出的计划是:
function checkPalindrome($number){
$reverse_number = 0;
$number_backup = $number;
while($number > 0){
$reverse_number = $reverse_number * 10 + $number % 10;
$number /= 10;
}
return $reverse_number == $number_backup;
}
在步骤“$ number / = 10”时,生成的结果将不是产生问题的整数。
答案 0 :(得分:6)
如果不允许进行类型转换并禁止字符串处理,则需要进行一些额外的计算:
while($number > 0){
$lsd = $number % 10;
$reverse_number = $reverse_number * 10 + $lsd;
$number = ($number - $lsd) / 10;
}