Обратни зборови во низа


Ниво на тешкотија Лесно
Често прашувано во Аколит Adobe Амазон Cisco Голдман Сакс MakeMyTrip MAQ Мајкрософт Морган Стенли Исплата PayU SAP лаборатории Випро Zoho
Стринг

Изјава за проблем

„Обратни зборови во а низа”Наведува дека ви е дадена низа со големина n. Печатете ја низата во обратен редослед така што последниот збор станува прв, вториот последен станува втор и така натаму. Со оваа низа се однесуваме на реченица која содржи зборови наместо збор кој се состои од карактери.

Обратни зборови во низа

пример

s = "TutorialCup makes learning easy"
easy learning makes TutorialCup

Објаснување: TutorialCup е првиот збор со што ќе се сврти наопаку до крај. Последниот збор „лесен“ оди напред и другите зборови се враќаат на сличен начин. Поформално,

Нека дадената низа s = „TutorialCup го олеснува учењето“, res = ””, започнете = 0, крај = n-1.

Започнете да ја разгледувате низа до крајот -

Чекор 1 - На индекс 26, s [i] = ", Затоа,

започне = 27, одма = „лесно“

Чекор 2 - На индекс 17, s [i] = ", Затоа,

започнете = 18, одма = „лесно учење“

Чекор 3 - На индекс 11, s [i] = ", Затоа,

започне = 12, одма = „лесно прави учењето“

Чекор 4 - започнете = 0

res = „лесното учење го прави TutorialCup“

s = "Contributed by Akshita Jain"
Jain Akshita by Contributed

 

Алгоритам за обратни зборови во низа

1. Initialize a string s of size n.
2. Create a function to reverse the words of the given string which accepts a string variable as it's a parameter.
3. After that, create two variables of integer type begin and end. Initialize the variable end as the size of the string.
4. Create an empty string variable to store the result.
5. Traverse through the string from the last character to first and check if the character at current index in the given string is a white space, update the variable begin as current index + 1 and while variable begin is not equal to the variable end, add the character at index begin + 1 of the given string in the result string variable.
6. Add a white space in the result string variable and update the variable end as the current index.
7. Update variable begin as 0.
8. Traverse again, while variable begin is not equal to variable end, add the character at index begin + 1 of the given string in the result string variable.
9. Return the resulting string variable.

Низа е едноставно колекција на карактери. Значи, со низа, можеме да кажеме дека тоа е збор или е реченица. Но, кога ќе кажеме низа е збор. Мислиме дека низата не содржи никаков простор помеѓу нив. Но, кога упатуваме реченица со помош на низа, ние исто така го разгледуваме случајот кога може да има празни места помеѓу знаците. Значи, треба да се збуни јазолот околу зборот или реченицата во однос на низа.

Код

Програма C ++ за враќање на зборовите во низа

#include<bits/stdc++.h> 
using namespace std; 
  
string reverseStringWords(string s){ 
    int i = s.length() - 1, begin, end = i + 1; 
    string res = ""; 
      
    while(i >= 0){ 
        if(s[i] == ' '){ 
            begin = i + 1; 
            while(begin != end) 
                res += s[begin++]; 
              
            res += ' '; 
            end = i; 
        } 
        
        i--; 
    } 
    begin = 0; 
    while(begin != end) 
        res += s[begin++]; 
      
    return res; 
} 
  
int main(){ 
    string s = "TutorialCup makes learning easy"; 
    cout << reverseStringWords(s); 
      
    return 0; 
} 
easy learning makes TutorialCup

Java програма за да ги сврти зборовите во низа

import java.io.*; 
import java.util.*; 
import java.lang.*; 
  
class reverse{ 
    static String reverseStringWords(String s){ 
        int i = s.length() - 1; 
        int begin, end = i + 1; 
        String res = ""; 
          
        while(i >= 0){ 
            if(s.charAt(i) == ' '){ 
                begin = i + 1; 
                while(begin != end) 
                    res += s.charAt(begin++); 
                  
                res += ' '; 
                  
                end = i; 
            } 
            i--; 
        } 
          
        begin = 0; 
        while(begin != end) 
            res += s.charAt(begin++); 
          
        return res; 
    } 
      
    public static void main(String[] args){ 
        String s = "TutorialCup makes learning easy"; 
          
        System.out.print(reverseStringWords(s)); 
    } 
} 
easy learning makes TutorialCup

Анализа на сложеност

Временска комплексност

Тој) каде n е вкупниот број на карактери во дадената низа.

Комплексноста на просторот

Тој) бидејќи користевме простор за складирање на n елементи.