This program will read a string and remove repeated consecutive characters from the string and print new updated string. In this program we will not use another string to copy string after removing the characters; we can say this program is for removing consecutive characters from the string without using another string. Show
Removing consecutive repeated characters from string using C program/*C program to remove consecutive repeated characters from string.*/ #include int main() { char str[100]; int i,j,len,len1; /*read string*/ printf("Enter any string: "); gets(str); /*calculating length*/ for(len=0; str[len]!='\0'; len++); /*assign 0 to len1 - length of removed characters*/ len1=0; /*Removing consecutive repeated characters from string*/ for(i=0; i<(len-len1);) { if(str[i]==str[i+1]) { /*shift all characters*/ for(j=i;j<(len-len1);j++) str[j]=str[j+1]; len1++; } else { i++; } } printf("String after removing characaters: %s\n",str); return 0; } Output First Run: Enter any string: AABBCCDD String after removing characaters: ABCD Second Run: Enter any string: AAAABBBBCCCCDDDD String after removing characaters: ABCD Third Run: Enter any string: AAA AAA BBB CCCC DDDD String after removing characaters: A A B C D C Advance Programs » js remove consecutive duplicate characters in stringJavaScript [Edit] + 0 - 0 js remove consecutive duplicate characters in string415 Copy
We are required to write a JavaScript function that takes in an array of strings. Our function should remove the duplicate characters that appear consecutively in the strings and return the new modified array of strings. ExampleFollowing is the code − Live Demo const arr = ["kelless", "keenness"]; const removeConsecutiveDuplicates = (arr = []) => { const map = []; const res = []; arr.map(el => { el.split('').reduce((acc, value, index, arr) => { if (arr[index] !== arr[index+1]) { map.push(arr[index]); } if (index === arr.length-1) { res.push(map.join('')); map.length = 0 } }, 0); }); return res; } console.log(removeConsecutiveDuplicates(arr)); Output[ 'keles', 'kenes' ] This is one of very common interview question can be asked in the interview. The solution is easy but in interviews due to time frame, interviewee can get confused. Always go for easy solution and then work on complexity. Author Shubham Chadokar I’m a software engineer and a learner. This is a documentation website of my learnings for my future self. Given a string S, The task is to remove all the consecutive duplicate characters of the string and return the resultant string. Note: that this problem is different from Recursively remove all adjacent duplicates. Here we keep one character and remove all subsequent same characters. Examples:
Recommended Practice Remove Consecutive Characters Try It! Remove all consecutive duplicates from the string using recursion:Approach:
Follow the below steps to implement the idea:
Illustration:
Below is the implementation of the above approach: C++
geksforgeks abca0 geksforgeks abca1 geksforgeks abca2 geksforgeks abca3 geksforgeks abca4 geksforgeks abca5 geksforgeks abca6 geksforgeks abca5 geksforgeks abca8 geksforgeks abca9 // Recursive Program to remove consecutive 0// Recursive Program to remove consecutive 1
geksforgeks abca5 // Recursive Program to remove consecutive 6geksforgeks abca5 geksforgeks abca8 // Recursive Program to remove consecutive 9
geksforgeks abca5 #include <bits/stdc++.h> 5
geksforgeks abca5 using 3geksforgeks abca5 using 5geksforgeks abca5 using 7
geksforgeks abca4 geksforgeks abca5 geksforgeks abca2 namespace 5namespace 6// Recursive Program to remove consecutive 4geksforgeks abca5 namespace 9geksforgeks abca5 std; 1
geksforgeks abca5 geksforgeks abca2 std; 4std; 5// Recursive Program to remove consecutive 4geksforgeks abca5 std; 8geksforgeks abca5 // A recursive function that removes 0
geksforgeks abca5 // Recursive Program to remove consecutive 3 // A recursive function that removes 3
Java
geksforgeks abca5 // consecutive duplicates from string S 1 // consecutive duplicates from string S 2 // consecutive duplicates from string S 3geksforgeks abca5 // consecutive duplicates from string S 5geksforgeks abca5 geksforgeks abca4
geksforgeks abca8 geksforgeks abca00 geksforgeks abca01 // Recursive Program to remove consecutive 1
geksforgeks abca05
geksforgeks abca8 geksforgeks abca08 geksforgeks abca09 geksforgeks abca10 geksforgeks abca01 geksforgeks abca12
geksforgeks abca15 geksforgeks abca16 geksforgeks abca17 geksforgeks abca01 geksforgeks abca19
geksforgeks abca21
geksforgeks abca24 geksforgeks abca09 // Recursive Program to remove consecutive 1geksforgeks abca16 geksforgeks abca28 geksforgeks abca29 geksforgeks abca17 geksforgeks abca01 geksforgeks abca19 geksforgeks abca5 #include <bits/stdc++.h> 5geksforgeks abca5 // consecutive duplicates from string S 1 // consecutive duplicates from string S 2 geksforgeks abca0 geksforgeks abca39 geksforgeks abca5 geksforgeks abca4
geksforgeks abca43 namespace 6// Recursive Program to remove consecutive 4
geksforgeks abca47
geksforgeks abca49 std; 5// Recursive Program to remove consecutive 4
geksforgeks abca53 geksforgeks abca5 #include <bits/stdc++.h> 5
Python3geksforgeks abca57 geksforgeks abca58
geksforgeks abca59 geksforgeks abca60 geksforgeks abca5 geksforgeks abca8 geksforgeks abca63 geksforgeks abca64 geksforgeks abca65 geksforgeks abca66
geksforgeks abca69 geksforgeks abca5 geksforgeks abca8 geksforgeks abca72 geksforgeks abca09 geksforgeks abca74 geksforgeks abca75 geksforgeks abca72 geksforgeks abca01 geksforgeks abca78
geksforgeks abca72 geksforgeks abca09 geksforgeks abca83 geksforgeks abca84 geksforgeks abca85 geksforgeks abca01 geksforgeks abca87 geksforgeks abca5 // Recursive Program to remove consecutive 3 geksforgeks abca85 geksforgeks abca01 geksforgeks abca87
geksforgeks abca93 geksforgeks abca94 geksforgeks abca75 geksforgeks abca96 geksforgeks abca97 geksforgeks abca98 geksforgeks abca99
geksforgeks abca75 // Recursive Program to remove consecutive 02geksforgeks abca97 // Recursive Program to remove consecutive 04// Recursive Program to remove consecutive 05
C#
geksforgeks abca5 // consecutive duplicates from string S 1 // consecutive duplicates from string S 2 // Recursive Program to remove consecutive 15geksforgeks abca5 geksforgeks abca15 // Recursive Program to remove consecutive 15 // Recursive Program to remove consecutive 19geksforgeks abca5 geksforgeks abca4
geksforgeks abca8 // Recursive Program to remove consecutive 24
geksforgeks abca05
geksforgeks abca8 // Recursive Program to remove consecutive 30
geksforgeks abca15 geksforgeks abca16 // Recursive Program to remove consecutive 35
geksforgeks abca21
geksforgeks abca16 geksforgeks abca28 geksforgeks abca29 // Recursive Program to remove consecutive 35geksforgeks abca5 #include <bits/stdc++.h> 5geksforgeks abca5 // consecutive duplicates from string S 1 // consecutive duplicates from string S 2 geksforgeks abca0 // Recursive Program to remove consecutive 51geksforgeks abca5 geksforgeks abca4
geksforgeks abca5 #include <bits/stdc++.h> 5
Javascript
geksforgeks abca4 geksforgeks abca5 geksforgeks abca8 // Recursive Program to remove consecutive 78
geksforgeks abca05
geksforgeks abca8 // Recursive Program to remove consecutive 84
geksforgeks abca21
Output geksforgeks abca Time complexity: O(N2) Remove all consecutive duplicates from the string using Iterative approach:
Follow the below steps to implement the idea:
Below is the implementation of above approach: C++
geksforgeks abca4
geksforgeks abca5 // duplicates from string S. 3 // duplicates from string S. 22geksforgeks abca5 // duplicates from string S. 24// duplicates from string S. 25// Recursive Program to remove consecutive 4geksforgeks abca5 // duplicates from string S. 28geksforgeks abca5 // duplicates from string S. 30geksforgeks abca5 geksforgeks abca8 // duplicates from string S. 33
geksforgeks abca5 // duplicates from string S. 38geksforgeks abca5 // duplicates from string S. 40 // duplicates from string S. 41// duplicates from string S. 3 // duplicates from string S. 43
geksforgeks abca8 // duplicates from string S. 50
geksforgeks abca5 #include <bits/stdc++.h> 5geksforgeks abca5 // duplicates from string S. 58geksforgeks abca5 // duplicates from string S. 60geksforgeks abca5 // duplicates from string S. 62geksforgeks abca5 // Recursive Program to remove consecutive 3 // duplicates from string S. 36
geksforgeks abca4
geksforgeks abca5 // duplicates from string S. 72namespace 6// Recursive Program to remove consecutive 4geksforgeks abca5 // duplicates from string S. 76
geksforgeks abca5 // duplicates from string S. 78std; 5// Recursive Program to remove consecutive 4geksforgeks abca5 // duplicates from string S. 82
geksforgeks abca5 // Recursive Program to remove consecutive 3 // A recursive function that removes 3
Java
geksforgeks abca5 // duplicates from string S. 16geksforgeks abca5 // consecutive duplicates from string S geksforgeks abca5 // consecutive duplicates from string S 2 geksforgeks abca0 geksforgeks abca1 geksforgeks abca2 #include <bits/stdc++.h> 02geksforgeks abca5 geksforgeks abca4
geksforgeks abca8 #include <bits/stdc++.h> 14geksforgeks abca65 // duplicates from string S. 9
geksforgeks abca09 // Recursive Program to remove consecutive 4
geksforgeks abca01 #include <bits/stdc++.h> 41
geksforgeks abca8 #include <bits/stdc++.h> 48geksforgeks abca16 #include <bits/stdc++.h> 50geksforgeks abca16 #include <bits/stdc++.h> 52
geksforgeks abca09 #include <bits/stdc++.h> 60geksforgeks abca01 geksforgeks abca19 geksforgeks abca5 #include <bits/stdc++.h> 5
geksforgeks abca5 #include <bits/stdc++.h> 66geksforgeks abca5 // consecutive duplicates from string S 1 // consecutive duplicates from string S 2 geksforgeks abca0 geksforgeks abca39 geksforgeks abca5 geksforgeks abca4
geksforgeks abca2 namespace 5namespace 6#include <bits/stdc++.h> 78
geksforgeks abca2 std; 4std; 5#include <bits/stdc++.h> 78
geksforgeks abca5 #include <bits/stdc++.h> 5
Python3
geksforgeks abca59 #include <bits/stdc++.h> 97
geksforgeks abca5 #include <bits/stdc++.h> 99geksforgeks abca75 geksforgeks abca63 using 02
geksforgeks abca5 using 04geksforgeks abca5 using 06geksforgeks abca5 geksforgeks abca8 #include <bits/stdc++.h> 14geksforgeks abca65 using 11
geksforgeks abca5 using 15geksforgeks abca5 using 17geksforgeks abca5 using 19geksforgeks abca5 using 21geksforgeks abca75 geksforgeks abca09
geksforgeks abca5 using 25geksforgeks abca5 // duplicates from string S. 40 using 28using 29 using 30using 31
geksforgeks abca8 using 38geksforgeks abca75 using 40
geksforgeks abca84 geksforgeks abca75 geksforgeks abca01
geksforgeks abca75 using 49
geksforgeks abca5 using 51geksforgeks abca5 using 53geksforgeks abca5 using 21geksforgeks abca84 geksforgeks abca75 geksforgeks abca01 geksforgeks abca5 using 60geksforgeks abca75 using 62geksforgeks abca5 // Recursive Program to remove consecutive 3 using 60
geksforgeks abca8 using 68geksforgeks abca75 geksforgeks abca75 using 71geksforgeks abca66
geksforgeks abca5 using 74geksforgeks abca75 namespace 6geksforgeks abca5 using 74geksforgeks abca75 using 80using 81geksforgeks abca5 using 74geksforgeks abca75 using 85geksforgeks abca5 geksforgeks abca97 // duplicates from string S. 41using 89using 90geksforgeks abca75 using 92
geksforgeks abca5 using 94geksforgeks abca75 std; 5geksforgeks abca5 using 94geksforgeks abca75 using 80namespace 01geksforgeks abca5 using 94geksforgeks abca75 namespace 05geksforgeks abca5 geksforgeks abca97 // duplicates from string S. 41using 89namespace 10geksforgeks abca75 using 92
C#
geksforgeks abca5 // duplicates from string S. 16geksforgeks abca5 // consecutive duplicates from string S geksforgeks abca5 // consecutive duplicates from string S 2 geksforgeks abca0 geksforgeks abca1 geksforgeks abca2 #include <bits/stdc++.h> 02geksforgeks abca5 geksforgeks abca4
geksforgeks abca8 namespace 42
geksforgeks abca8 #include <bits/stdc++.h> 48geksforgeks abca16 #include <bits/stdc++.h> 50geksforgeks abca16 #include <bits/stdc++.h> 52
geksforgeks abca2 namespace 81namespace 82 geksforgeks abca2 namespace 84
geksforgeks abca5 #include <bits/stdc++.h> 5
geksforgeks abca5 #include <bits/stdc++.h> 66geksforgeks abca5 // consecutive duplicates from string S 1 // consecutive duplicates from string S 2 geksforgeks abca0 // Recursive Program to remove consecutive 51geksforgeks abca5 geksforgeks abca4
geksforgeks abca2 std; 02namespace 6std; 04
geksforgeks abca2 std; 09std; 5std; 04
geksforgeks abca5 #include <bits/stdc++.h> 5
Javascript
geksforgeks abca5 std; 20
geksforgeks abca5 // duplicates from string S. 11
geksforgeks abca5 // duplicates from string S. 16geksforgeks abca5 // consecutive duplicates from string S geksforgeks abca5 std; 28
geksforgeks abca8 // duplicates from string S. 33
geksforgeks abca8 // duplicates from string S. 50geksforgeks abca16 // duplicates from string S. 52
geksforgeks abca5 #include <bits/stdc++.h> 5
geksforgeks abca5 using 9geksforgeks abca5 std; 74namespace 6// Recursive Program to remove consecutive 4geksforgeks abca5 std; 78geksforgeks abca5 std; 80std; 5// Recursive Program to remove consecutive 4geksforgeks abca5 std; 84
geksforgeks abca5 std; 86
Output geksforgeks abca Time Complexity: O(N) This article is contributed by Ankur Singh. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to [email protected]. See your article appearing on the GeeksforGeeks main page and help other Geeks. How to remove consecutive characters in JavaScript?here is my code : var str='11222_12_111_122_542_1212333_122'; var result = str. replace(/(1{2,}|2{2,}|3{2,}|4{2,}|5{2,}|6{2,}|7{2,}|8{2,}|9{2,})/g,'$1'); console. log(result);
How to remove consecutive same characters in string Java?We should have to use the following steps for removing duplicates.. In the first step, we have to convert the string into a character array.. Calculate the size of the array.. Call removeDuplicates() method by passing the character array and the length.. Traverse all the characters present in the character array.. How to find consecutive repeated characters in a string in JavaScript?Find consecutive characters in a JavaScript string
To match consecutively repeating characters in a string, you can simply use a regular expression that uses a backreference to the same character that's matched in a capturing group. In the example above, the capturing group matches characters a-z only once.
How to remove adjacent duplicates in a string in JavaScript?Approach to solving the problem:. Create an empty stack array.. Iterate through string S.. Check if the last element of the stack is equal to the current element of S.. If true, remove the last element in the stack.. If false, add the current element of S to the end of the stack.. Return stack array as a string.. |