问题描述
我们如何实现对字符串的反转、替换、删除操作。我在面试的时候,面试官让我写一个逻辑到下面。
-
输入:“这是一次采访”
-
如果我们没有用 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',' ','a','n','t','e','r','v','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