假设我们有一个非负整数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