Print consecutive characters together in a line
Given a sequence of characters, print consecutive sequence of characters in a line, otherwise
print it in a new line.
Examples:
Input : ABCXYZACCD
Output : ABC
XYZ
A
C
CD
Input : ABCZYXACCD
Output: ABC
ZYX
A
C
CD
The idea is to traverse string from left to right. For every traversed character, print it in a line if it is consecutive to previous one, else print a new line character.
Implementation:
C++
#include <iostream>
using namespace std;
void print(string str)
{
cout << str[0];
for ( int i = 1; str[i] != '\0' ; i++) {
if ((str[i] == str[i - 1] + 1)
|| (str[i] == str[i - 1] - 1))
cout << str[i];
else
cout << "\n" << str[i];
;
}
}
int main()
{
string str = "ABCXYZACCD" ;
print(str);
return 0;
}
|
Java
class GFG {
static void print(String str1)
{
char str[] = str1.toCharArray();
System.out.print(str[ 0 ]);
for ( int i = 1 ; i < str.length; i++) {
if ((str[i] == str[i - 1 ] + 1 )
|| (str[i] == str[i - 1 ] - 1 )) {
System.out.print(str[i]);
}
else {
System.out.print( "\n" + str[i]);
}
}
}
public static void main(String[] args)
{
String str = "ABCXYZACCD" ;
print(str);
}
}
|
Python3
def _print(string):
print (string[ 0 ], end = "")
for i in range ( 1 , len (string)):
if ( ord (string[i]) = = ord (string[i - 1 ]) + 1 or
ord (string[i]) = = ord (string[i - 1 ]) - 1 ):
print (string[i], end = "")
else :
print ()
print (string[i], end = "")
if __name__ = = "__main__" :
string = "ABCXYZACCD"
_print(string)
|
C#
using System;
class GFG {
static void print(String str1)
{
char [] str = str1.ToCharArray();
Console.Write(str[0]);
for ( int i = 1; i < str.Length; i++) {
if ((str[i] == str[i - 1] + 1)
|| (str[i] == str[i - 1] - 1)) {
Console.Write(str[i]);
}
else {
Console.Write( "\n" + str[i]);
}
}
}
public static void Main()
{
String str = "ABCXYZACCD" ;
print(str);
}
}
|
Javascript
<script>
function print(str1)
{
let str = str1.split( "" );
document.write(str[0]);
for (let i = 1; i < str.length; i++)
{
if ((str[i].charCodeAt(0) ==
str[i - 1].charCodeAt(0) + 1) ||
(str[i].charCodeAt(0) ==
str[i - 1].charCodeAt(0) - 1))
{
document.write(str[i]);
}
else
{
document.write( "<br>" + str[i]);
}
}
}
let str = "ABCXYZACCD" ;
print(str);
</script>
|
Time Complexity: O(n)
Auxiliary Space: O(1)
Last Updated :
25 Oct, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...