如何在没有任何内置方法的情况下反向替换移除字符串



如何在字符串上实现反转、替换、删除操作?我在面试时,面试官让我写一篇逻辑文章。

  • 输入:"这是一个采访">

  • 如果我们必须将其替换为z

  • 删除空格

  • 完全颠倒句子

  • 不使用任何内置方法编写逻辑***

我无法打破字符串和比较,就像我们如何在整数的情况下使用%和/操作符。我要求他使用一个内置方法charAt();为了实现这个目标。但是有没有办法实现不使用charAt()方法吗?

String input = "This is an interview";
char t = 't';
char z = 'z';
char space = ' ';
String output = "";
char c = 'i';
for(int i=0;;i++){
try{
c = input.charAt(i);     //here I have used one inbuilt method but how can we avoid this
}catch(Exception e){
break;
}

if(c==t) {
output = z + output;
}else if(c!=space){ 
output = c+output;  
}
}
System.out.println(output);
}

您可以使用字符数组(char[])而不是字符串,并且使用[]来访问不同的字符而不是charAt。

char input[] = {'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', 'n', ' ', 'i', 'n', 't', 'e', 'r', 'v', 'i', 'e', 'w'};
int size = 20;
String output = "";
for(int i = size-1; i >= 0; i--) {
if(input[i] == 't')
output += "c";
else if(input[i] != ' ')
output += input[i];
}
System.out.println(output);

此代码已经过测试。

Input: This is an interview
Output: weivrecninasisihT