假设我们有一个非负整数num,我们必须检查它是否是回文,但是不使用字符串。
因此,如果输入类似于1331,那么输出将为true。
为了解决这个问题,我们将遵循以下步骤-
ret:= 0
x:=数量
当num> 0时,执行-
d:= num mod 10
ret:= ret * 10
ret:= ret + d
num:= num / 10
当x与ret相同时返回true
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; class Solution { public: bool solve(int num) { int ret = 0; int x = num; while(num > 0){ int d = num % 10; ret *= 10; ret += d; num /= 10; } return x == ret; } }; main() { Solution ob; cout << (ob.solve(1331)); }
1331
输出结果
1