Reverse the array - 450DSA Cracker Solution
Reverse a String
Given a String S , print the reverse of the string as output.
class Solution {
public:
string revStr(string S) {
for(int i = 0, j= S.length()-1; i<j ;i++,j--)
{
swap(S[i], S[j]);
}
return S;
}
};
Reverse a String
You are given a string s. You need to reverse the string.
for(int i=0, j=str.size()-1; i <j ; i++, j--)
{
char ch = str[i];
str[i] = str[j];
str[j] = ch;
}
return str;
Reverse sub array
void reverseSubArray(int *arr, int n, int l, int r) {
// code here
while(l<=r){
swap(arr[l-1],arr[r-1]);
l++;
r--;
}
}
Reverse array in groups
Given an array arr[] of positive integers of size N. Reverse every sub-array group of size K.
Note: If at any instance, there are no more subarrays of size greater than or equal to K, then reverse the last subarray (irrespective of its size). You shouldn't return any array, modify the given array in-place.
class Solution{
public:
//Function to reverse every sub-array group of size k.
void reverseInGroups(vector<long long>& arr, int n, int k){
// code here
int i;
for(int i =0;i<n;i+=k)
{
if(i+k>n)
reverse(arr.begin()+i, arr.end());
else
reverse(arr.begin()+i, arr.begin()+i+k);
}
}
};
Special array reversal
class Solution
{
public:
string reverse(string str)
{
//code here.
int i, j;
for(i=0, j = str.length();i<j;)
{
while(!isalpha(str[i])) i++;
while(!isalpha(str[j])) j--;
if(i < j){
swap(str[i] , str[j]);
i++;
j--;
}
}
return str;
}
};
String Reversal
Given a string, say S, print it in reverse manner eliminating the repeated characters and spaces.
Example 1:
Input: S = "GEEKS FOR GEEKS"
Output: "SKEGROF"
Example 2:
Input: S = "I AM AWESOME"
Output: "EMOSWAI"
string reverseString(string s)
{
string s1="";
for (int i=s.length()-1; i >=0 ;i--)
{
if(s[i]==' ')
continue;
size_t found = s1.find(s[i]);
if (found ==string::npos )
s1=s1+s[i];
}
return s1;
}
Perfect Reversible String
Example 1:
Input: n = 2, str = "ab"
Output: 0
Explanation: All substrings are "a",
"b","ab" but reverse of "ab" is not
present in str.
class Solution{
public:
int isReversible(string str, int n) {
//complete the function here
string rev = str;
reverse(rev.begin(), rev.end());
if(rev == str)
return 1;
else
return 0;
}
};
Inverse Permutation
vector<int> inversePermutation(int arr[], int size) {
vector<int> temp(size) ;
for(int i=0;i<size;i++)
temp[arr[i]-1] = i+1;
return temp;
}
Reverse a string with spaces intact
Given a string, your task is to reverse the string keeping the spaces intact to their positions.
Example 1:
Input:
S = "Help others"
Output: sreh topleH
Explanation: The space is intact at index 4
while all other characters are reversed.
class Solution
{
public:
string reverseWithSpacesIntact (string s)
{
for(int i=0,j=s.size()-1; i<j ;)
{
if(s[i] == ' ')
i++;
else if(s[j]==' ')
j--;
else
{
swap(s[i], s[j]);
i++; j--;
}
}
return s;
}
};
Reverse words in a given string
Given a String S, reverse the string without reversing its individual words. Words are separated by dots.
Example 1:
Input:
S = i.like.this.program.very.much
Output: much.very.program.this.like.i
Explanation: After reversing the whole
string(not individual words), the input
string becomes
much.very.program.this.like.i
class Solution
{
public:
//Function to reverse words in a given string.
string reverseWords(string S)
{
string result="", s1="";
for (int i =0;i<S.length();i++)
{
if (S[i] =='.')
{
s1 = S[i]+s1;
result = s1 + result;
s1="";
}
else
s1 = s1 + S[i];
}
result = (s1) + result;
return result;
}
};
Subscribe to my newsletter
Read articles from Akshima Sharma directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by