Open In App

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

Last Updated : 12 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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:  

  1. Concatenate both the string and store it in another string variable.
  2. Extract one word from the concatenated string.
  3. 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 sentences
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 (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 code
int 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 sentences
import java.io.*;
import java.util.*;
class GFG{

// Function to print all the
// non-repeating words from the
// two given sentences
static 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 code
public 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 sentences
def 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 code
if __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 sentences
using System;
class GFG{
 
// Function to print all the
// non-repeating words from the
// two given sentences
static 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 code
public 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 sentences
function 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 code
let s1 = "I have go a pen";
let s2 = "I want to go park";
removeRepeating(s1, s2);

// This code is contributed by avanitrachhadiya2155
</script>

Output: 
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)


Practice Tags :

Similar Reads