Open In App

Print consecutive characters together in a line

Improve
Improve
Like Article
Like
Save
Share
Report

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++




// C++ program to print consecutive characters
// together in a line.
#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];
        ;
    }
}
 
// Driver code
int main()
{
    string str = "ABCXYZACCD";
    print(str);
    return 0;
}


Java




// Java program to print consecutive characters
// together in a line.
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]);
            }
        }
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String str = "ABCXYZACCD";
        print(str);
    }
}
 
// This code is contributed by 29AjayKumar


Python3




# Python3 program to print consecutive characters
# together in a line.
 
 
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="")
 
 
# Driver Code
if __name__ == "__main__":
 
    string = "ABCXYZACCD"
    _print(string)
 
# This code is contributed by
# sanjeev2552


C#




// C# program to print consecutive characters
// together in a line.
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]);
            }
        }
    }
 
    // Driver code
    public static void Main()
    {
        String str = "ABCXYZACCD";
        print(str);
    }
}
 
// This code is contributed by PrinciRaj1992


Javascript




<script>
 
// Javascript program to print consecutive
// characters together in a line.
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]);
        }
    }
}
 
// Driver code
let str = "ABCXYZACCD";
print(str);
 
// This code is contributed by rag2127
 
</script>


Output

ABC
XYZ
A
C
CD

Time Complexity: O(n) 
Auxiliary Space: O(1)

 



Last Updated : 25 Oct, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads