व्यक्तिगत शब्दों को उलट दें  


कठिनाई स्तर आसान
में अक्सर पूछा वीरांगना
धुआँरा तार

विषय - सूची

समस्या का विवरण  

समस्या "व्यक्तिगत शब्दों को उल्टा" बताती है कि आपको एक दिया जाता है स्ट्रिंग एस अब, स्ट्रिंग में सभी अलग-अलग शब्दों के रिवर्स को प्रिंट करें।

व्यक्तिगत शब्दों को उलट देंपिन

उदाहरण  

s = "TutorialCup - changing the way of learning"
puClairotuT - gnignahc eht yaw fo gninrael
 s = "Reverse individual words"
esreveR laudividni sdrow

स्टैक का उपयोग करना  

कलन विधि

  1. लंबाई की एक स्ट्रिंग को प्रारंभ करें n।
  2. बनाओ धुआँरा डेटा संरचना। स्ट्रिंग के माध्यम से पार करें और जांचें कि क्या स्ट्रिंग में वर्तमान वर्ण सफेद स्थान नहीं है। फिर स्टैक में करंट कैरेक्टर को पुश करें।
  3. ढेर जबकि स्टैक का आकार 0 नहीं है, स्टैक के शीर्ष पर तत्व को प्रिंट करें और फिर स्टैक से पॉप / निकालें।
  4. अब, स्ट्रिंग के अंत तक पहुंचने के बाद। स्टैक के शीर्ष पर प्रिंट करते रहें और इसे हटा दें जबकि स्टैक खाली न हो।

कोड

C ++ व्यक्तिगत शब्दों को उलटने का कार्यक्रम

#include <bits/stdc++.h> 
using namespace std; 
  
void revWords(string str){ 
    stack<char> st; 
  
    for(int i = 0; i < str.length(); ++i){ 
        if(str[i] != ' '){ 
            st.push(str[i]);
        }
  
        else{ 
            while(st.empty() == false){ 
                cout << st.top(); 
                st.pop(); 
            } 
            cout << " "; 
        } 
    } 
  
    while(st.empty() == false){ 
        cout << st.top(); 
        st.pop(); 
    } 
} 
  
int main(){ 
    string s = "TutorialCup - changing the way of learning"; 
    
    revWords(s); 
    
    return 0; 
}
puClairotuT - gnignahc eht yaw fo gninrael

जावा प्रोग्राम व्यक्तिगत शब्दों को उल्टा करने के लिए

import java.io.*; 
import java.util.*; 
  
class reverseWords{ 
  
    static void revWords(String str){
        
        Stack<Character> st=new Stack<Character>(); 
       
        for(int i = 0; i < str.length(); ++i){ 
            if(str.charAt(i) != ' '){ 
                st.push(str.charAt(i));
            }
       
            else{ 
                while (st.empty() == false){ 
                    System.out.print(st.pop()); 
                } 
                System.out.print(" "); 
            } 
        } 
       
        while(st.empty() == false){ 
            System.out.print(st.pop()); 
        } 
    } 
      
    public static void main(String[] args){ 
       String s = "TutorialCup - changing the way of learning"; 
        revWords(s); 
    } 
}
puClairotuT - gnignahc eht yaw fo gninrael

जटिलता विश्लेषण

समय जटिलता

O (n) जहां n स्ट्रिंग का आकार है। हमने स्ट्रिंग से सभी वर्णों को ट्रेस किया है। इस प्रकार समय जटिलता रैखिक है।

यह भी देखें
निकटतम पालिंड्रोम संख्या ज्ञात करें

अंतरिक्ष जटिलता

O (n) क्योंकि हमने n वर्णों को संग्रहीत करने के लिए स्थान का उपयोग किया है।

स्टैक का उपयोग किए बिना  

कलन विधि

  1. लंबाई की एक स्ट्रिंग को प्रारंभ करें n।
  2. मूल स्ट्रिंग को उल्टा करने के लिए एक और स्ट्रिंग बनाएं। मूल स्ट्रिंग के माध्यम से ट्रैवर्स करें और जांचें कि क्या मूल स्ट्रिंग में वर्तमान वर्ण एक सफेद स्थान नहीं है। फिर नए स्ट्रिंग को वर्तमान वर्ण और नए स्ट्रिंग के संयोजन के रूप में अपडेट करें।
  3. नए स्ट्रिंग को प्रिंट करें और नए स्ट्रिंग को रिक्त के रूप में अपडेट करें।
  4. नई स्ट्रिंग प्रिंट करें।

कोड

C ++ व्यक्तिगत शब्दों को उलटने का कार्यक्रम

#include <bits/stdc++.h> 
using namespace std; 
  
void revWords(string str){ 
    string s;
    
    for(int i = 0; i < str.length(); ++i){ 
        if(str[i] != ' '){ 
            s = str[i]+s;
        }
  
        else{ 
            cout << s <<" "; 
            s = "";
        } 
    } 
  
    cout << s;
} 
  
int main(){ 
    string s = "TutorialCup - changing the way of learning"; 
    
    revWords(s); 
    
    return 0; 
}
puClairotuT - gnignahc eht yaw fo gninrael

जावा प्रोग्राम व्यक्तिगत शब्दों को उल्टा करने के लिए

import java.io.*; 
import java.util.*; 
  
class reverseWords{ 
  
    static void revWords(String str){
        
        String s = "";
        for(int i = 0; i < str.length(); ++i){ 
            if(str.charAt(i) != ' '){ 
                s = str.charAt(i)+s;
            }
       
            else{ 
                System.out.print(s+" ");
                s = "";
            } 
        } 
       
        System.out.print(s); 
    } 
      
    public static void main(String[] args){ 
       String s = "TutorialCup - changing the way of learning";
        revWords(s); 
    } 
}
puClairotuT - gnignahc eht yaw fo gninrael

जटिलता विश्लेषण

समय जटिलता

O (n ^ 2) जहां n स्ट्रिंग का आकार है। हमने स्ट्रिंग में वर्णों के बारे में पता लगाया है। लेकिन नए स्ट्रिंग के साथ किसी एकल वर्ण का कॉन्टेक्शन ऑपरेशन और इसे फिर से उसी स्ट्रिंग चर में संग्रहीत करता है पर) हर बार।

अंतरिक्ष जटिलता

पर) क्योंकि हमने n वर्णों को संग्रहीत करने के लिए स्थान का उपयोग किया है।

C ++ स्ट्रिंगस्ट्रीम का उपयोग करना  

कलन विधि

  1. लंबाई की एक स्ट्रिंग को प्रारंभ करें n।
  2. मूल स्ट्रिंग को उल्टा करने के लिए एक और स्ट्रिंग बनाएं। एक स्ट्रिंगस्ट्रीम ऑब्जेक्ट बनाएं और उसमें मूल स्ट्रिंग पास करें।
  3. उसके बाद, प्रत्येक शब्द को स्ट्रिंग में पढ़ें और पढ़ें और रिवर्स ऑर्डर में प्रिंट करें।
यह भी देखें
गणना nCr% p

कोड

C ++ व्यक्तिगत शब्दों को उलटने का कार्यक्रम

#include <bits/stdc++.h> 
using namespace std; 
  
void revWords(string str){ 
    
    string word; 
   
    stringstream s(str); 
   
    while(s >> word){ 
        reverse(word.begin(),word.end()); 
        cout<<word<<" "; 
    }
} 
  
int main(){ 
    string s = "TutorialCup - changing the way of learning"; 
    
    revWords(s); 
    
    return 0; 
}
puClairotuT - gnignahc eht yaw fo gninrael

जटिलता विश्लेषण

समय जटिलता

पर) जहां n स्ट्रिंग का आकार है। हमने स्ट्रिंग में वर्णों के बारे में पता लगाया है।

अंतरिक्ष जटिलता

पर) क्योंकि हमने n वर्णों को संग्रहीत करने के लिए स्थान का उपयोग किया है।

जावा 8 स्ट्रीम का उपयोग करना  

कलन विधि

  1. लंबाई की एक स्ट्रिंग को प्रारंभ करें n।
  2. मूल स्ट्रिंग को उल्टा करने के लिए एक और स्ट्रिंग बनाएं। धारा का उपयोग करके मूल स्ट्रिंग के शब्दों को उल्टा करें और उन्हें एक साथ जोड़ दें जिसमें कलेक्टर का उपयोग करके अंतरिक्ष और नए स्ट्रिंग में इसके परिणाम को संग्रहीत करें।
  3. नई स्ट्रिंग प्रिंट करें।

जावा प्रोग्राम व्यक्तिगत शब्दों को उल्टा करने के लिए

import java.io.*; 
import java.util.*;
import java.util.stream.Collectors; 
  
class reverseWords{ 
  
    static void revWords(String str){
        
        String result = Arrays.asList(str.split(" ")) 
                .stream() 
                .map(s -> new StringBuilder(s).reverse()) 
                .collect(Collectors.joining(" ")); 
  
        System.out.println(result);
    } 
      
    public static void main(String[] args){ 
        String s = "TutorialCup - changing the way of learning";
        revWords(s); 
    } 
}
puClairotuT - gnignahc eht yaw fo gninrael

जटिलता विश्लेषण

समय जटिलता

पर) जहां n स्ट्रिंग का आकार है। हमने स्ट्रिंग में वर्णों के बारे में पता लगाया है।

अंतरिक्ष जटिलता

पर) क्योंकि हमने n वर्णों को संग्रहीत करने के लिए स्थान का उपयोग किया है।