镜像字符的字符串
给定一个字符串和一个数字 N,我们需要按照字母顺序从第 N 个位置到字符串的长度镜像字符。在镜像操作中,我们将“a”更改为“z”,将“b”更改为“y”,依此类推。
例子:
Input : N = 3
paradox
Output : paizwlc
We mirror characters from position 3 to end.
Input : N = 6
pneumonia
Output : pnefnlmrz
下面是不同的字符和他们的镜子。
镜像字母顺序意味着a对应于z , b对应于y 。这意味着第一个字符成为最后一个字符,依此类推。现在,为了实现这一点,我们维护一个包含小写英文字母的字符串(或字符数组)。现在从轴心点到长度,我们可以通过使用字符的 ASCII 值作为索引来查找字符的逆字母顺序。使用上述技术,我们将给定的字符串转换为所需的字符串。
C++
// C++ code to find the reverse alphabetical
// order from a given position
#include
#include
using namespace std;
// Function which take the given string
// and the position from which the reversing shall
// be done and returns the modified string
string compute(string str, int n)
{
// Creating a string having reversed alphabetical order
string reverseAlphabet = "zyxwvutsrqponmlkjihgfedcba";
int l = str.length();
// The string up to the point specified in the question,
// the string remains unchanged and from the point up to
// the length of the string, we reverse the alphabetical
// order
for (int i = n; i < l; i++)
str[i] = reverseAlphabet[str[i] - 'a'];
return str;
}
// Driver function
int main()
{
string str = "pneumonia";
int n = 4;
string answer = compute(str, n - 1);
cout << answer;
return 0;
}
Java
// Java code to find the reverse alphabetical
// order from a given position
import java.io.*;
class GeeksforGeeks {
// Function which take the given string
// and the position from which the reversing shall
// be done and returns the modified string
static String compute(String str, int n)
{
// Creating a string having reversed alphabetical order
String reverseAlphabet = "zyxwvutsrqponmlkjihgfedcba";
int l = str.length();
// The string up to the point specified in the question,
// the string remains unchanged and from the point up to
// the length of the string, we reverse the alphabetical order
String answer = "";
for (int i = 0; i < n; i++)
answer = answer + str.charAt(i);
for (int i = n; i < l; i++)
answer = answer + reverseAlphabet.charAt(str.charAt(i) - 'a');
return answer;
}
// Driver function
public static void main(String args[])
{
String str = "pneumonia";
int n = 4;
System.out.print(compute(str, n - 1));
}
}
Python3
# python code to find the reverse
# alphabetical order from a given
# position
# Function which take the given string and the
# position from which the reversing shall be
# done and returns the modified string
def compute(st, n):
# Creating a string having reversed
# alphabetical order
reverseAlphabet = "zyxwvutsrqponmlkjihgfedcba"
l = len(st)
# The string up to the point specified in the
# question, the string remains unchanged and
# from the point up to the length of the
# string, we reverse the alphabetical order
answer = ""
for i in range(0, n):
answer = answer + st[i];
for i in range(n, l):
answer = (answer +
reverseAlphabet[ord(st[i]) - ord('a')]);
return answer;
# Driver function
st = "pneumonia"
n = 4
answer = compute(st, n - 1)
print(answer)
# This code is contributed by Sam007.
C#
// C# code to find the reverse alphabetical
// order from a given position
using System;
class GFG {
// Function which take the given string
// and the position from which the
// reversing shall be done and returns
// the modified string
static String compute(string str, int n)
{
// Creating a string having reversed
// alphabetical order
string reverseAlphabet =
"zyxwvutsrqponmlkjihgfedcba";
int l = str.Length;
// The string up to the point
// specified in the question,
// the string remains unchanged
// and from the point up to
// the length of the string, we
// reverse the alphabetical order
String answer = "";
for (int i = 0; i < n; i++)
answer = answer + str[i];
for (int i = n; i < l; i++)
answer = answer +
reverseAlphabet[str[i]- 'a'];
return answer;
}
// Driver function
public static void Main()
{
string str = "pneumonia";
int n = 4;
Console.Write(compute(str, n - 1));
}
}
// This code is contributed by Sam007.
php
Javascript
输出:
pnefnlmrz
复杂性 =