zoukankan      html  css  js  c++  java
  • 去掉一个字符串中重复的字符,只保留第一次出现的

    例:

    输入字符串:qweqweasdlmn

    输出字符串:qweasdlmn

    #include <iostream>
    #include<cstring>
    using namespace std;
    
    string remove_same(string str)
    {
        size_t subpos,sublen;
        string temp_str;
        temp_str.append(str,0,1);
        for(subpos=1;subpos<str.length();subpos++)
        {
            for(sublen=0;sublen<temp_str.length();sublen++)
            {
                if(str[subpos]==temp_str[sublen])
                    break;
            }
            if(sublen==temp_str.length())
                temp_str.append(str,subpos,1);
        }
        return temp_str;
    }
    
    int main() {
        string instr;
        cout<<"输入一个字符串"<<endl;
        getline(cin,instr);//防止遇到空格就结束 
        string new_str=remove_same(instr);
        cout<<new_str<<endl;
       
    }

    remove_same子函数用来实现对重复字符的判断,并得到没有重复字符的结果字符串

    思路:创建一个temp_str用来存放结果字符串,最开始temp_str里面只有instr的第一个字符,sub_pos用来记录instr里下一个要进行判断的字符的位置,除了第一个字符,每个instr的字符都要进行判断,判断的方式是将每个字符与temp_str里的每个字符进行比较,若没有重复的,则将该字符添加到temp_str的后面,若有重复的,跳到下一个字符判断,直到所有的字符都判断完毕,最后存入temp_str的字符一定是没有重复元素的,输出即可。

    程序运行结果:第二行是输入字符串,第三行是去除重复字符串的结果,可以看到重复空格也被去除了。

  • 相关阅读:
    JavaScript学习笔记--this全面解析
    CSS3学习笔记--animation和transition
    HTML5学习笔记--HTML5新增的常用标签
    布局学习笔记--flex布局
    布局学习笔记--rem布局
    HTML5学习笔记--Canvas
    react-pdf插件实现pdf预览功能
    postman基础使用——调试接口
    react 实现复制copy文本内容
    react 移动端签名实现
  • 原文地址:https://www.cnblogs.com/victorywr/p/12753152.html
Copyright © 2011-2022 走看看