C ++中的回文整数

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