【发布时间】:2016-10-16 21:19:04
【问题描述】:
public static String switchString(String word, int i, int j) {
StringBuilder newString = new StringBuilder();
newString.append(word.substring(j, word.length()));
newString.append(word.substring(i + 1, j));
newString.append(word.substring(0, i + 1));
return newString.toString();
}
对于给定的输入String 和索引i 和j,代码应该执行如下操作:如果word = “abcdef” 和i = 1,j = 3。输出应该是:“defcab”。
假设单词不是null 和i 和j 没有越界,代码工作正常。我想知道对于任何给定长度的字符串,该程序是否通过这种方法在内存中占用恒定空间。
【问题讨论】:
-
不确定你期望它做什么,但我认为你在
newString.append(word.substring(j, word.length()));得到一个OutOfRange异常或类似的东西 -
假设单词不为空并且 i 和 j 不是超出范围的索引,代码工作正常。我想知道对于任何给定长度的字符串,通过这种方法是否需要一个恒定的空间是内存。
-
关键字:“给定长度”。这意味着您的程序将占用
n内存的一些因素。