精华内容
下载资源
问答
  • 删除字符串中的重复字符 实现函数int GetResult(char *input, char *output), 要求给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串,需要保留字符出现的先后顺序。...
    删除字符串中的重复字符

    实现函数int GetResult(char *input, char *output), 要求给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串,需要保留字符出现的

    先后顺序。


    例如: 

    输入: 

    input = "adfageetj234jbjaf";

    输出:

    output = "adfgetj234b";


    #include <iostream>
    #include <set>
    using namespace std;
    
    #define USINGHASHTABLE 0
    #define NOUSEHASHTABLE 0
    #define USINGSET	   1
    
    int GetResult( char *input, char *output );
    
    
    int main()
    {
    	char *str = "adfageetj234jbjaf";
    	char output[200] = {'\0'};
    
    	if( 0== GetResult( str, output ))
    		cout<<str<<endl<<output<<endl;
    
    	system( "pause" );
    	return 0;
    }
    
    
    
    
    /**********************************************************************************************************************************
    * Function:					GetResult
    * Author:					Sky                  
    * Description:              将字符串中所有和前面重复多余的字符删除,
    
    							其余字符保留,输出处理后的字符串,需要保留字符出现的先后顺序  
    * Access Level:              
    * Input:                    input----------指向输入字符串
    							output---------指向输出字符串
    * Output:                   0 -------  成功
    							-1-------  失败
    * Return:                   
    ***********************************************************************************************************************************/
    int GetResult( char *input, char *output )
    {
    
    	//	方法一: 使用一个hash表当字典,对统计字符是否出现过 O(n)
    
    #if USINGHASHTABLE
    
    	int rt = 0;
    	int i = 0, j = 0;
    	int hashTable[256] = {0};			//	0代表该字符在字符串中未出现,1代表出现
    	
    
    	if( NULL == input || NULL == output )
    		rt = -1;
    	else
    	{
    		for( i=0; '\0' != *(input+i); i++ )
    		{
    			if( 0 == hashTable[*(input+i)] )
    			{
    				hashTable[*(input+i)] = 1;
    				*(output+j) = *(input+i);
    				j++;
    			}
    		}
    
    		*(output+j) = '\0';
    
    	}
    
    #endif
    
    
    	//	使用C++ STL中的关联容器Set更方便且更为强大,Set容器是键的集合
    
    #if USINGSET
    	int rt = 0;
    	set<char> setChar;
    	int i = 0, j = 0;
    
    	if( NULL == input || NULL == output )
    		rt = -1;
    	else
    	{
    		//	去重,但经过排序
    
    		for( i=0; '\0' != *(input+i); i++ )
    		{
    
    			if( 0 == setChar.count( *(input+i) ) )
    			{
    				*(output+j) = *(input+i);
    				j++;
    			}
    
    			setChar.insert( *(input+i) );
    
    		}
    
    		*(output+j) = '\0';
    	}
    
    #endif
    	//	方法二: 
    
    #if NOUSEHASHTABLE
    
    	int rt = 0, i = 0, j = 0, index = 0;
    	int flag = 0;									// 用于标记是否当前字符在之前是否出现
    	int len = strlen( input );
    
    	if( NULL == input || NULL == output )
    		rt = -1;
    	else
    	{
    
    		for( i=0; i<len; i++ )						//	外层循环用于遍历源字符串
    		{
    
    			for( j=0; j<i; j++ )					//	内层循环用于查找当前字符是否在之前出现
    			{
    				if( *(input+i) == *(input+j) )
    				{
    					flag = 1;
    					break;
    				}
    			}
    			if( 1 == flag )
    			{
    				flag = 0;
    				continue;
    			}
    			else
    			{
    				*(output+index) = *(input+i);
    				index++;
    			}
    		}
    
    		*(output+index) = 0;
    	}
    #endif
    
    	return rt;
    }


    运行结果:

    展开全文
  • Java删除字符串中的重复字符【问题描述】删除字符串中的重复字符.【输入形式】输入一个字符串,全为字母字符【输出形式】输出删除重复字符后的字符串【样例输入】abbcbd【样例输出】abcd【样例说明】删除第二个和第...

    Java删除字符串中的重复字符

    11e20fb01412f24759112e7cc4b7d909.png

    【问题描述】删除字符串中的重复字符.

    【输入形式】输入一个字符串,全为字母字符

    【输出形式】输出删除重复字符后的字符串

    【样例输入】abbcbd

    【样例输出】abcd

    【样例说明】删除第二个和第三个“b”,保留第一个遇到的不同字符

    /*

    【问题描述】删除字符串中的重复字符.

    【输入形式】输入一个字符串,全为字母字符

    【输出形式】输出删除重复字符后的字符串

    【样例输入】abbcbd

    【样例输出】abcd

    【样例说明】删除第二个和第三个“b”,保留第一个遇到的不同字符

    */

    import java.util.*;

    public class Test{

    public static void main(String[] args) {

    Scanner in = new Scanner(System.in);

    String str = in.next();

    HashSet newhash = new HashSet<>();

    char chr;

    for(int i=0;i

    chr=str.charAt(i);

    newhash.add(chr);

    }

    for (char c : newhash) {

    System.out.print(c);

    }

    }

    }

    山东掌趣网络科技

    展开全文
  • Java删除字符串中的重复字符

    千次阅读 2020-04-01 18:28:08
    Java删除字符串中的重复字符 【问题描述】删除字符串中的重复字符. 【输入形式】输入一个字符串,全为字母字符 【输出形式】输出删除重复字符后的字符串 【样例输入】abbcbd 【样例输出】abcd 【样例说明】删除第二...

    Java删除字符串中的重复字符

    【问题描述】删除字符串中的重复字符.

    【输入形式】输入一个字符串,全为字母字符

    【输出形式】输出删除重复字符后的字符串

    【样例输入】abbcbd

    【样例输出】abcd

    【样例说明】删除第二个和第三个“b”,保留第一个遇到的不同字符

    /*
    【问题描述】删除字符串中的重复字符.
    【输入形式】输入一个字符串,全为字母字符
    【输出形式】输出删除重复字符后的字符串
    【样例输入】abbcbd
    【样例输出】abcd
    【样例说明】删除第二个和第三个“b”,保留第一个遇到的不同字符
    */
    import java.util.*;
    
    public class Test{
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		String str = in.next();
    		HashSet<Character> newhash = new HashSet<>();
    		char chr;
    		for(int i=0;i<str.length();i++){
    			chr=str.charAt(i);
    			newhash.add(chr);
    		}
    		for (char c : newhash) {
    			System.out.print(c);
    		}
    	}
    }
    
    展开全文
  • Java删除字符串中的重复字符【问题描述】删除字符串中的重复字符.【输入形式】输入一个字符串,全为字母字符【输出形式】输出删除重复字符后的字符串【样例输入】abbcbd【样例输出】abcd【样例说明】删除第二个和第...

    Java删除字符串中的重复字符

    93dabd1d4468abf10a031bcbfd82e815.png

    【问题描述】删除字符串中的重复字符.

    【输入形式】输入一个字符串,全为字母字符

    【输出形式】输出删除重复字符后的字符串

    【样例输入】abbcbd

    【样例输出】abcd

    【样例说明】删除第二个和第三个“b”,保留第一个遇到的不同字符

    /*

    【问题描述】删除字符串中的重复字符.

    【输入形式】输入一个字符串,全为字母字符

    【输出形式】输出删除重复字符后的字符串

    【样例输入】abbcbd

    【样例输出】abcd

    【样例说明】删除第二个和第三个“b”,保留第一个遇到的不同字符

    */

    import java.util.*;

    public class Test{

    public static void main(String[] args) {

    Scanner in = new Scanner(System.in);

    String str = in.next();

    HashSet newhash = new HashSet<>();

    char chr;

    for(int i=0;i

    chr=str.charAt(i);

    newhash.add(chr);

    }

    for (char c : newhash) {

    System.out.print(c);

    }

    }

    }

    山东掌趣网络科技

    展开全文
  • Python统计列表中的重复项出现的次数的方法Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法python 去除二维数组/二维列表中的重复行方法Python去除列表中重复元素的方法python字典多...
  • 题目描述:删除字符串中的重复字符 input="bcabc", output="abc" 思路:hash表+visited结合+0字符的巧妙运用 1 首先建立一个hash表,里面是所有字符出现的次数 2 每个字符默认设为未访问 3 结果result增加一个初始值...
  • 【问题描述】删除字符串中的重复字符.【输入形式】输入一个字符串,全为字母字符【输出形式】输出删除重复字符后的字符串【样例输入】abbcbd【样例输出】abcd import java.util.Scanner; public class java3_8 { ...
  • 原题如下:本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序...使用scanf函数时注意字符串中的空格。这里我使用的字符串函数gets。2.关于去重和排序的两种方法:先去重后排序第二...
  • 这个功能对我看起来不错。我写了内嵌注释。希望它有帮助:// function takes a char array as input.// modifies it to remove duplicates and adds a 0 to mark the end// of the unique chars in the array.public...
  • public class ... * 去除字符串中重复的字符 * @author yyp * @createdate 2014-1-27 下午1:25:06 * @Description: (用一句话描述该方法做什么) * @param args * */ public static void
  • ...say that i have string like this : <pre class="lang-php prettyprint-override"><code>$string = 'Life is like. . ....<pre class="lang-php prettyprint-override"><code>$string ='Life is like a box of ...
  • 报错提示:表达式必须包含类类型 #include<iostream> #include<math.h> #include<string.h> #include<algorithm> using namespace std; int main() { char str[100];...}
  • Perl: 删除字符串中的重复字符

    千次阅读 2012-04-01 16:56:55
    如果我们有一个字符串,如'1122311223451',我们想要去除其中重复出现字符,并且保持每个字符第一次出现次序,对于这个例子,它结果就是'12345',如何实现呢? 方法可能有很多, 在这里推荐一种只需要一行...
  • //思路:遍历数组,用一个下标记录不重复的元素位置,跟前边已经填充好数组值相比较。 void removeDuplicates2(string &str){  if(str=="")return;  if(str.length()) return;  int tail=1;  for...
  • import java.util.Scanner; public class Test3_8_zxj { public static void main(String[] args) { // TODO Auto-generated ...System.out.print("请输入字符串:"); Scanner sc = new Scanner(System.in); St...
  • 2,跳过重复的字符,更新不是重复的字符。 #include using namespace std; void removedup(char str[10]); void main() {  char s[10]="abercobie";  for(int i=0;i;i++)  cout[i];  ...
  • 利用php删除字符串中重复字符。比如:$str = "aaadddd"最后得到应该是"ad"。思路:遍历整个数组,然后依次取出第i个字符,存入一个临时数组中,同时遍历临时数组,查找该数组中是否已经存在该字符。相关学习视频...
  • 利用php删除字符串中重复字符。比如:$str = "aaadddd"最后得到应该是"ad"。思路:遍历整个数组,然后依次取出第i个字符,存入一个临时数组中,同时遍历临时数组,查找该数组中是否已经存在该字符。相关学习视频...
  • 主要介绍了C#删除字符串中重复字符的方法,涉及C#针对字符串遍历及移除等操作技巧,非常具有实用价值,需要朋友可以参考下
  • =.*1) 这是断言, 表示后面内容将是 任意个字符加上第一组所捕获内容这样子,如果这整个式子匹配到,表示,第一个捕获组内容在字符串中,至少出现两次,替换为 "" 空串.进行 全局替换后, 整个字符串所出现字符将不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,813
精华内容 1,125
关键字:

删除字符串中的重复字符