【发布时间】:2019-03-12 18:13:38
【问题描述】:
我有一个动态字符串类,它有一个字符数组text,它有一个可以反转数组内容的reverse() 方法。
但我不明白算法如何工作的逻辑。你能帮我看一下代码吗?
public void reverse() {
char tmp;
for(int i=0; i<length/2; i++) {
tmp = text[i];
text[i] = text[length-1-i];
text[length-1-i] = tmp;
}
}
【问题讨论】:
-
拿一张纸跟踪数组和
i的值,或者使用调试器逐行逐行执行代码。 -
如果您不理解算法,那么理解它的最佳方法是使用笔和纸并跟踪步骤。为不同的例子做这件事,你就会明白发生了什么。