当前位置: 首页 > 知识库问答 >
问题:

2119.双重反转后的数字(Leetcode)

越景天
2023-03-14

我在leetcode上试过这个问题https://leetcode.com/problems/a-number-after-a-double-reversal/

反转整数意味着反转其所有数字。

例如,逆转2021给出1202。反转12300得到321,因为前导零不保留。给定一个整数num,反转num以获得反转数1,然后反转反转数1以获得反转数2。返回true如果反2等于num。否则返回false。

Example 1: 

Input: num = 526  
Output: true  
Explanation: Reverse num to get 625, then reverse 625 to get 526, which equals num.

Example 2:  

Input: num = 1800  
Output: false  
Explanation: Reverse num to get 81, then reverse 81 to get 18, which does not equal num.

我对上述问题的逻辑是,如果我们检查最后一位,如果它是0,那么它会自动为假。因为反转它永远不会给出与0不保留相同的答案。

守则:

class Solution {
    public boolean isSameAfterReversals(int num) {
        if(num==0) return true;
        if((num|0)==0){
                return false;
            }
            return true;
    }
}

我的92个测试用例通过了。但有些失败了,例如:

Input-1800  
Output-true  
Expected-false  

有人能告诉我我的逻辑出了什么问题吗??

共有2个答案

姜聪
2023-03-14

代码的问题是(num | 0)总是等于num。这一点,由于之前的测试,它不能等于0

这个怎么样?

class Solution {
    public boolean isSameAfterReversals(int num) {
        return num == 0 || num%10 != 0;
    }
}
贲培
2023-03-14

(1800 | 0)计算为1800,因此最终返回false。我假设您正在尝试检查最低有效位(一位数)是否为零。您可以使用(num ==0)

 类似资料:
  • 我有一个使用双打的简单计算,但我得到了一个意想不到的结果,我不明白为什么? 如果我输入2.99,我得到的结果是。。

  • ActivationFunction.java:6:错误:不兼容类型:double无法转换为字符串r=double.ParseDouble(r);^ActivationFunction.java:8:错误:不兼容类型:如果(double.isNaN(x))返回r,则字符串无法转换为double;^

  • 问题内容: 我有一个使用双打的简单计算,但是得到了意外的结果,我不明白为什么? 如果输入2.99,我得到的结果是.. 问题答案: 在双精度(或浮点数)运算时,不能精确表示十进制值。改用BigDecimal。 编辑(2) 这里的例子: 输出:

  • 本文向大家介绍使用JavaScript从数字反转数字数组,包括了使用JavaScript从数字反转数字数组的使用技巧和注意事项,需要的朋友参考一下 问题 我们需要编写一个带数字的JavaScript函数。我们的函数应该首先反转数字,然后将反转的数字拆分为数字,然后返回该拆分的数字数组。 输入 输出 因为反向编号是7654321 示例 以下是代码- 输出结果

  • rank ▲ ✰ vote url 58 383 111 805 url 反转字符串 在Python里str没有内建的reverse函数.实现字符串反转最好的方法是什么? 如果答案很简单的话,那么最有效的是什么.是不是str要转换成一个不同的对象. 这个怎么样: >>> 'hello world'[::-1] 'dlrow olleh' 这是拓展的切片语法.用[begin:end:step]实现

  • 问题内容: 给定这样的字典: 如何将这张地图倒置即可: 问题答案: 对于Python 2.7.x 对于