Print all the non-repeating words from the two given sentences

Given two strings A and B, the task is to print all the non-repeating words out of the two given sentences.
Examples:
Input: A = “I have a blue pen”, B = “I got a red pen”
Output: have blue got red
Explanation:
The words have, blue, got and red have not been repeated in either the same sentence or another sentence.
Input: A = “I am going to park”, B = “I am in park”
Output: going to in
Approach: The idea is to iterate over all the words and check if the word is being repeated or not. Therefore, the following steps can be followed to compute the answer:
- Concatenate both the string and store it in another string variable.
- Extract one word from the concatenated string.
- If that word is present in either A or in B, then print it. Else, continue for the remaining words.
Below is the implementation of the above approach:
C++
// C++ program to print all the// non-repeating words from the// two given sentences#include <bits/stdc++.h>#include <string.h>using namespace std;// Function to print all the// non-repeating words from the// two given sentencesvoid removeRepeating(string s1, string s2){ // Concatenate the two strings // into one string s3 = s1 + " " + s2 + " "; string words = ""; int i = 0; // Iterating over the whole // concatenated string for (auto x : s3) { if (x == ' ') { // Searching for the word in A. // If while searching, we reach // the end of the string, then // the word is not present in // the string if (s1.find(words) == string::npos || s2.find(words) == string::npos) cout << words; // Initialise word for the // next iteration words = ""; } else { words = words + x; } }}// Driver codeint main(){ string s1 = "I have go a pen"; string s2 = "I want to go park"; removeRepeating(s1, s2); return 0;} |
Java
// Java program to print all the// non-repeating words from the// two given sentencesimport java.io.*;import java.util.*;class GFG{// Function to print all the// non-repeating words from the// two given sentencesstatic void removeRepeating(String s1, String s2){ // Concatenate the two Strings // into one String s3 = s1 + " " + s2 + " "; String words = ""; int i = 0; // Iterating over the whole // concatenated String for(char x : s3.toCharArray()) { if (x == ' ') { // Searching for the word in A. // If while searching, we reach // the end of the String, then // the word is not present in // the String if (!s1.contains(words) || !s2.contains(words)) System.out.print(words); // Initialise word for the // next iteration words = " "; } else { words = words + x; } }}// Driver codepublic static void main(String[] args){ String s1 = "I have go a pen"; String s2 = "I want to go park"; removeRepeating(s1, s2);}}// This code is contributed by sapnasingh4991 |
Python3
# Python 3 program to print all the# non-repeating words from the# two given sentences# Function to print all the# non-repeating words from the# two given sentencesdef removeRepeating(s1, s2): # Concatenate the two # strings into one s3 = s1 + " " + s2 + " " words = "" i = 0 # Iterating over the whole # concatenated string for x in s3: if (x == ' '): # Searching for the word in A. # If while searching, we reach # the end of the string, then # the word is not present in # the string if (words not in s1 or words not in s2): print(words, end = "") # Initialise word for the # next iteration words = " " else: words = words + x# Driver codeif __name__ == "__main__": s1 = "I have go a pen" s2 = "I want to go park" removeRepeating(s1, s2)# This code is contributed by Chitranayal |
C#
// C# program to print all the// non-repeating words from the// two given sentencesusing System;class GFG{ // Function to print all the// non-repeating words from the// two given sentencesstatic void removeRepeating(string s1, string s2){ // Concatenate the two Strings // into one string s3 = s1 + " " + s2 + " "; string words = ""; int i = 0; // Iterating over the whole // concatenated String foreach(char x in s3.ToCharArray()) { if (x == ' ') { // Searching for the word in A. // If while searching, we reach // the end of the String, then // the word is not present in // the String if (!s1.Contains(words) || !s2.Contains(words)) Console.Write(words); // Initialise word for the // next iteration words = " "; } else { words = words + x; } }} // Driver codepublic static void Main(string[] args){ string s1 = "I have go a pen"; string s2 = "I want to go park"; removeRepeating(s1, s2);}}// This code is contributed by rutvik_56 |
Javascript
<script>// Javascript program to print all the// non-repeating words from the// two given sentences// Function to print all the// non-repeating words from the// two given sentencesfunction removeRepeating(s1,s2){ // Concatenate the two Strings // into one let s3 = s1 + " " + s2 + " "; let words = ""; let i = 0; // Iterating over the whole // concatenated String let temp = s3.split("") for(let x = 0; x < temp.length; x++) { if (temp[x] == ' ') { // Searching for the word in A. // If while searching, we reach // the end of the String, then // the word is not present in // the String if (!s1.includes(words) || !s2.includes(words)) document.write(words); // Initialise word for the // next iteration words = " "; } else { words = words + temp[x]; } }}// Driver codelet s1 = "I have go a pen";let s2 = "I want to go park";removeRepeating(s1, s2);// This code is contributed by avanitrachhadiya2155</script> |
have a pen I want to park
Time complexity: O(M+N) where M and N is length of string s1 and string s2
Auxiliary space: O(M+N)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



