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

问题描述

我们如何实现对字符串的反转、替换、删除操作。我在面试的时候,面试官让我写一个逻辑到下面。

  • 输入:“这是一次采访”

  • 如果我们没有用 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