Concatenation of Two Strings
Last Updated :
31 Oct, 2024
Improve
String concatenation is the process of joining two strings end-to-end to form a single string.
Examples
Input: s1 = “Hello”, s2 = “World”
Output: “HelloWorld”
Explanation: Joining “Hello” and “World” results in “HelloWorld”.Input: s1 = “Good”, s2 = “Morning”
Output: “GoodMorning”
Explanation: Joining “Good” and “Morning” results in “GoodMorning”
Using + Operator
Almost all languages support + operator to concatenate two strings. In C, we have a library function strcat() for the same purpose.
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "Hello, ";
string s2 = "World!";
// Concatenating the strings
string res = s1 + s2;
cout << res << endl;
return 0;
}
#include <stdio.h>
#include <string.h>
int main() {
char s1[50] = "Hello, ";
char s2[] = "World!";
// Concatenating the strings
strcat(s1, s2);
printf("%s\n", s1);
return 0;
}
public class GfG {
public static void main(String[] args) {
String s1 = "Hello, ";
String s2 = "World!";
// Concatenating the strings
String res = s1 + s2;
System.out.println(res);
}
}
s1 = "Hello, "
s2 = "World!"
# Concatenating the strings
res = s1 + s2
print(res)
using System;
class Program {
static void Main() {
string s1 = "Hello, ";
string s2 = "World!";
// Concatenating the strings
string res = s1 + s2;
Console.WriteLine(res);
}
}
let s1 = "Hello, ";
let s2 = "World!";
// Concatenating the strings
let res = s1 + s2;
console.log(res);
Output
Hello, World!
Write your Own Method
- Create an empty result string.
- Traverse through s1 and append all characters to result.
- Traverse through s2 and append all characters to result.
#include <iostream>
#include <string>
using namespace std;
string concat(string s1, string s2) {
string res;
// Append s1 to res
for (char c : s1) {
res += c;
}
// Append s2 to res
for (char c : s2) {
res += c;
}
return res;
}
int main() {
string s1 = "Hello, ";
string s2 = "World!";
// Call the function to concatenate the strings
string res = concat(s1, s2);
cout << res << endl;
return 0;
}
#include <stdio.h>
#include <string.h>
void concat(const char* s1, const char* s2, char* res) {
// Append s1 to res
while (*s1) {
*res++ = *s1++;
}
// Append s2 to res
while (*s2) {
*res++ = *s2++;
}
*res = '\0';
}
int main() {
const char* s1 = "Hello, ";
const char* s2 = "World!";
char res[100];
// Call the function to concatenate the strings
concat(s1, s2, res);
printf("%s\n", res);
return 0;
}
import java.util.StringBuilder;
public class Main {
public static String concat(String s1, String s2) {
StringBuilder res = new StringBuilder();
// Append s1 to res
for (char c : s1.toCharArray()) {
res.append(c);
}
// Append s2 to res
for (char c : s2.toCharArray()) {
res.append(c);
}
return res.toString();
}
public static void main(String[] args) {
String s1 = "Hello, ";
String s2 = "World!";
// Call the function to concatenate the strings
String res = concat(s1, s2);
System.out.println(res);
}
}
def concat(s1, s2):
res = ''
# Append s1 to res
for c in s1:
res += c
# Append s2 to res
for c in s2:
res += c
return res
if __name__ == '__main__':
s1 = 'Hello, '
s2 = 'World!'
# Call the function to concatenate the strings
res = concat(s1, s2)
print(res)
using System;
class Program {
static string Concat(string s1, string s2) {
string res = "";
// Append s1 to res
foreach (char c in s1) {
res += c;
}
// Append s2 to res
foreach (char c in s2) {
res += c;
}
return res;
}
static void Main() {
string s1 = "Hello, ";
string s2 = "World!";
// Call the function to concatenate the strings
string res = Concat(s1, s2);
Console.WriteLine(res);
}
}
function concat(s1, s2) {
let res = '';
// Append s1 to res
for (let c of s1) {
res += c;
}
// Append s2 to res
for (let c of s2) {
res += c;
}
return res;
}
let s1 = 'Hello, ';
let s2 = 'World!';
let res = concat(s1, s2);
console.log(res);
Output
Hello, World!
Time Complexity : O(m + n) where m and n are lengths of the two strings.