एक स्ट्रिंग उल्टा


कठिनाई स्तर आसान
में अक्सर पूछा इंफोसिस MAQ ओ 9 के समाधान टीसीएस
तार

विषय - सूची

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

"उल्टा एक स्ट्रिंग" समस्या बताती है कि आपको आकार n का स्ट्रिंग दिया जाता है। इसे रिवर्स करने के लिए एक प्रोग्राम लिखें। तो, एक स्ट्रिंग को उलटने का क्या मतलब है? आमतौर पर इसका मतलब है कि हमें दिए गए इनपुट स्ट्रिंग को उल्टा करना। इसे एक ऑपरेशन के रूप में परिभाषित किया गया है, जो मूल वर्णों की स्थिति को एक शब्द में बदलने की ओर ले जाता है। जो चरित्र स्ट्रिंग की शुरुआत में मौजूद है, वह समाप्त हो जाता है। इसी तरह, अन्य चरित्र एक ही फैशन में अलग-अलग सूचकांकों में जाते हैं (अधिक औपचारिक रूप से ith चरित्र स्ट्रिंग -1 की स्थिति में जाता है)।

उदाहरण

एक तार उल्टा

TutorialCup
puClairotuT
Akshita
atihskA

स्वैपिंग विधि

कलन विधि

1. Initialise a string s of length n.
2. Create a function to reverse a string that accepts a string variable as it's a parameter.
3. Traverse through the string and swap the starting letter with ending letter until mid is reached.
4. Return the reversed string variable.

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

समय की जटिलता

पर) जहाँ n दिए गए शब्द में वर्णों की संख्या है। चूंकि हमने केवल इनपुट का पता लगाया है।

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

ओ (1) क्योंकि हमने निरंतर अतिरिक्त स्थान का उपयोग किया है। हमने कोई अस्थायी स्ट्रिंग या सरणी नहीं बनाई।

एक स्ट्रिंग को उलटने के लिए कोड

C ++ प्रोग्राम

#include <bits/stdc++.h> 
using namespace std; 
  
string reverse(string s){ 
    int l = s.length(); 
  
    for(int i=0; i<l/2; i++) 
        swap(s[i], s[l-i-1]); 
        
    return s;    
} 
  
int main(){ 
    string s = "TutorialCup"; 
    cout<<reverse(s); 
    return 0; 
}
puClairotuT

जावा प्रोग्राम

class reverseString{
    
    static String reverse(String input)
    { 
        StringBuilder str = new StringBuilder(input); 
        int length = str.length(); 
        for (int i = 0; i < length / 2; i++) 
        { 
            char current = str.charAt(i); 
            int otherEnd = length - i - 1; 
            str.setCharAt(i, str.charAt(otherEnd)); // swap 
            str.setCharAt(otherEnd, current); 
            
        } 
        return str.toString();
    }
    public static void main (String[] args){
        String s = "TutorialCup"; 
        System.out.println(reverse(s));
      }
}
puClairotuT

इनबिल्ट रिवर्स विधि का उपयोग करना

कलन विधि

1. Initialize a string s of length n.
2. Use the inbuilt reverse function on it.
3. Print the reversed string variable.

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

समय की जटिलता

पर) जहाँ n दिए गए शब्द में वर्णों की संख्या है।

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

ओ (1) क्योंकि हमने निरंतर अतिरिक्त स्थान का उपयोग किया है।

एक स्ट्रिंग को उलटने के लिए कोड

C ++ प्रोग्राम

#include <bits/stdc++.h> 
using namespace std; 

int main(){ 
    string s = "TutorialCup"; 
  
    reverse(s.begin(), s.end()); 
  
    cout<<s; 
    return 0; 
}
puClairotuT

जावा प्रोग्राम

import java.lang.*; 
import java.io.*; 
import java.util.*; 
  
class reverseString{
    
    public static void main(String[] args){ 
        String s = "TutorialCup"; 
  
        StringBuilder sobj = new StringBuilder(); 
  
        sobj.append(s); 
  
        sobj = sobj.reverse(); 
  
        System.out.println(sobj); 
    } 
}
puClairotuT

केवल मुद्रण उल्टा

एक स्ट्रिंग को रिवर्स करने के लिए एल्गोरिदम

1. Initialize a string s of length n.
2. Create a function to reverse a string that accepts a string variable as it's a parameter.
3. Traverse through the given string variable from the last character to the first character.
4. Print every character of the string variable given.

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

समय की जटिलता

पर) जहां n की संख्या है अक्षर दिए गए शब्द में।

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

ओ (1) क्योंकि हमने निरंतर अतिरिक्त स्थान का उपयोग किया है।

एक स्ट्रिंग को उलटने के लिए कोड

C ++ प्रोग्राम

#include <bits/stdc++.h> 
using namespace std; 
  
void reverse(string s){ 
   for(int i=s.length()-1; i>=0; i--) 
      cout<<s[i];  
} 
  
int main(){ 
    string s = "TutorialCup"; 
    reverse(s); 
    return 0; 
}
puClairotuT

जावा प्रोग्राम

import java.lang.*; 
import java.io.*; 
import java.util.*; 
  
class reverseString{
    
    public static void main(String[] args){ 
        
        String s = "TutorialCup"; 
  
        char[] s1 = s.toCharArray(); 
  
        for(int i=s1.length-1; i>=0; i--) 
            System.out.print(s1[i]); 
    } 
}
puClairotuT

चरित्र सरणी का उपयोग करना

एक स्ट्रिंग को रिवर्स करने के लिए एल्गोरिदम

1. Initialize a string s of length n.
2. Create a function to reverse a string that accepts a string variable as it's a parameter.
3. Create a character array and copy the given string variable in it.
4. Traverse through the character array till the mid swapping the starting characters and the ending characters.
5. Return the character array containing the reversed string.

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

समय की जटिलता

पर) जहाँ n दिए गए शब्द में वर्णों की संख्या है।

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

पर) क्योंकि हमने n अतिरिक्त स्थान का उपयोग किया है।

एक स्ट्रिंग को उलटने के लिए कोड

C ++ प्रोग्राम

#include <bits/stdc++.h> 
using namespace std; 
  
char* reverse(char const* s){ 
    int l = strlen(s); 
  
    char *rev = new char[l+1]; 
  
    strcpy(rev, s); 
  
    for(int i=0, j=l-1; i<j; i++,j--) 
        swap(rev[i], rev[j]);        
      
    return rev; 
} 
  
int main(void){ 
    const char *s = "TutorialCup"; 
    cout<<reverse(s); 
    return (0); 
} 
puClairotuT

जावा प्रोग्राम

import java.lang.*; 
import java.io.*; 
import java.util.*; 
  
class reverseString{
    
    public static void main(String[] args){ 
        String s = "TutorialCup"; 
        char[] temp = s.toCharArray(); 
        int left, right=0; 
        right = temp.length-1; 
  
        for(left=0; left<right ; left++ ,right--){ 
            char t = temp[left]; 
            temp[left] = temp[right]; 
            temp[right]=t; 
        } 
  
        for (char c : temp) 
            System.out.print(c); 
        System.out.println(); 
    } 
}
puClairotuT