m0_61574664 2021-12-11 03:09 采纳率: 87.1%
浏览 124
已结题

回文数c++基础题,来个负责任的

class Solution {
public:
bool isPalindrome(int x) {
if(x%10=x)
{
return true;
}
vector edd;
while(!res=0)
{
int res=x%10;
int x/=10;
edd.push_back(res);
}
int n=edd.size();
for(i=0;i<n;i++)
{
for(i=n-1;i>9;i--)
{
if(edd[i]==edd[j])
{
return true;
}
else
{
return false;
}
}
}

}

};
问:这是我写的程序,我写的有问题,希望来个负责任的大佬给我更改错误,我的思路是将整数x放入vector中,比较vector中第一个数和最后一个数,第二个数和倒数第二个数是否相等等等。希望来个负责任的大佬,在我的思路为基础完整地更改一下我的错误。最后一个问题,int定义的整数,可以用size来判断int长度大小吗

  • 写回答

5条回答 默认 最新

  • _GX_ 2021-12-11 06:32
    关注
    
    class Solution
    {
    public:
        bool isPalindrome(int x)
        {
            int n = static_cast<int>(std::log10(x) + 1);
            int reverted = 0;
            for (int i = 0; i < n / 2; i++)
            {
                reverted = reverted * 10 + x % 10;
                x /= 10;
            }
            if (n % 2 != 0)
                x /= 10;
            return x == reverted;
        }
    };
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月11日