Related Articles

# Binary String of given length that without a palindrome of size 3

• Difficulty Level : Medium
• Last Updated : 28 May, 2021

Given an integer n. Find a string of characters ‘a’ and ‘b’ such that the string doesn’t contain any palindrome of length 3.
Examples:

```Input : 3
Output : "aab"
Explanation:
aab is not a palindrome.

Input : 5
Output : aabba
Explanation:
aabba does not contain a palindrome
of size 3.```

The approach here is that we can use this string ‘aabb’ and print the characters of the string according to the given integer.

```We need to make make sure that every third
character is different.

If we perform operation AND on i and 2 where
i = 0 to any positive integer. It will generate
a pattern 0, 0, 2, 2, 0, 0, 2, 2,...
0 AND 2 = 0
1 AND 2 = 0
2 AND 2 = 2
3 AND 2 = 2
4 AND 2 = 0 //repeat the pattern.```

Below is the code of above approach.

## C++

 `// CPP program find a binary string of``// given length that doesn't contain``// a palindrome of size 3.``#include ``using` `namespace` `std;` `void` `generatestring(``int` `n)``{``    ``// Printing the character according to i``    ``for` `(``int` `i = 0; i < n; i++)``        ``putchar``(i & 2 ? ``'b'` `: ``'a'``);``    ``puts``(``""``);``}` `// Driver code``int` `main()``{``    ``int` `n = 5;``    ``generatestring(n);``    ``n = 8;``    ``generatestring(n);``    ``n = 10;``    ``generatestring(n);``}`

## Java

 `// JAVA program find a binary String of``// given length that doesn't contain``// a palindrome of size 3.` `class` `GFG``{` `static` `void` `generateString(``int` `n)``{``    ``String s = ``""``;``    ` `    ``// Printing the character according to i``    ``for` `(``int` `i = ``0``; i < n; i++)``        ``s += ((i & ``2``) > ``1` `? ``'b'` `: ``'a'``);``    ``System.out.println(s);``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``generateString(n);``    ``n = ``8``;``    ``generateString(n);``    ``n = ``10``;``    ``generateString(n);``}``}` `// This code is contributed by Rajput-Ji`

## Python3

 `# Python3 program find a binary String of``# given length that doesn't contain``# a palindrome of size 3.``def` `generateString(n):``    ``s ``=` `"";``    ` `    ``# Printing the character according to i``    ``for` `i ``in` `range``(n):``        ``if``((i & ``2``) > ``1``):``            ``s ``+``=` `'b'``;``        ``else``:``            ``s ``+``=` `'a'``;``    ``print``(s);` `# Driver code``if` `__name__ ``=``=` `'__main__'``:` `    ``n ``=` `5``;``    ``generateString(n);``    ``n ``=` `8``;``    ``generateString(n);``    ``n ``=` `10``;``    ``generateString(n);` `# This code is contributed by 29AjayKumar`

## C#

 `// C# program find a binary String of``// given length that doesn't contain``// a palindrome of size 3.``using` `System;` `class` `GFG``{` `static` `void` `generateString(``int` `n)``{``    ``String s = ``""``;``    ` `    ``// Printing the character according to i``    ``for` `(``int` `i = 0; i < n; i++)``        ``s += ((i & 2) > 1 ? ``'b'` `: ``'a'``);``    ``Console.WriteLine(s);``}` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``generateString(n);``    ``n = 8;``    ``generateString(n);``    ``n = 10;``    ``generateString(n);``}``}` `// This code is contributed by Rajput-Ji`

## Javascript

 ``

Output:

```aabba
aabbaabb
aabbaabbaa```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up