题目描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
基本思路:循环判断,如果后面数字有与当前数字相同的,那么则删掉当前数字,字符串的后一位替代前一位,这样会产生一个问题,就是替代了当前位数字的那个数字如果在后面也有重复是没办法进行判断的,所以每当有相同数字的时候,替代完了之后要使得当前判断位置还在原处,此时需要加一个i–即可
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
int len;
cin>>str;
len=str.size();
for(int i=0;i<len;i++)
{
for(int j=i+1;j<len;j++)
{
if(str[i]==str[j])
{
len--;
for(int k=i;k<len;k++)
{
str[k]=str[k+1];
}
i--;
break;
}
}
}
for(int i=len-1;i>=0;i--)
{
cout<<str[i];
}
}

本文介绍了一种从右向左读取整数并去除重复数字的算法实现。通过循环判断和字符串操作,确保输出的整数不含任何重复数字,详细展示了算法的流程和代码实现。
614

被折叠的 条评论
为什么被折叠?



