题解 | #提取不重复的整数#

提取不重复的整数

https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

#include <array>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    unsigned int num;
    //  输入这个数字
    cin >> num;
    vector<char> s;
    unsigned short i = 0;
    //  将这个数字转换为字符串
    while (num != 0) {
        s.push_back(num % 10);
        num /= 10;
        ++i;
    }
    //  去除重复
    vector<char>::iterator iter;
    vector<char>::iterator iter2;
    for(iter = s.begin(); iter != s.end(); ++iter){
        for(iter2 = iter + 1; iter2 != s.end(); ++iter2){
            if(*iter == *iter2){
                s.erase(iter2);
			  //	这个千万别忘了,不然就段错误了,一定要前移一次
                --iter2;
            }
        }
    }
    
    //  将字符再转换为整数
    num = 0;
    for(iter = s.begin(); iter != s.end(); ++iter){
        num = num * 10 + *iter;
    }
    cout << num;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

投递拓竹科技等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-25 17:13
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务