Palindrome不使用额外的空间

时间:2012-06-05 09:17:17

标签: c++ c algorithm

我知道使用字符串转换,堆叠和数字破解来检查整数是否为回文的各种方法,但这里问题是 “我们如何检查整数回文 使用 任何 额外 空间?“

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码恢复数字:

int revert(int num) {
  int reverted = 0;
  while (num) {
    reverted = reverted*10 + num%10;
    num /= 10;
  }
  return reverted;
}

现在你只检查是否

  

num == revert(num)

就是这样。很抱歉给出了确切的解决方案,而不仅仅是提示,但我认为如果没有解决方案本身,我不会给出任何提示。