其实这道题本身并不算难,只通过对于字符串的操作便可实现。但是介于上篇文章刚刚发布关于StringBuilder的用法,那么在这道题中不妨利用StringBuilder进行解答。
代码如下:
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String a = in.next();
String b = in.next();
System.out.println(rotate(a,b));
}
public static boolean rotate(String a, String b){
for(int i = 0; i < a.length(); i++){
char c = a.charAt(0);
String s = a.substring(1);
StringBuilder sb = new StringBuilder();
String result = sb.append(s).append(c).toString();
if(result.equals(b))
return true;
}
return false;
}
}
这种写法相对于常规循环用字符串拼接来讲,要更加的简洁。其实今日也有在力扣上刷一些题目,由于自己不具备算法思维,导致自己所写的代码运行时间总是要比官方所给代码的运行时间慢上十多倍。因此,我觉得有些题目虽然不难,但是可以考虑用更加高级的操作来简化代码,节省时间或是内存。
作者本人学识尚浅,但仍在努力进步,也希望能够看到我这篇文章的人能够不止步于学会知识,更要懂得如何去运用知识。