任务五:344. 反转字符串
自己先写了一点,但是时间不够了,先把没有通过的贴上来,明天在对照着改进。
public class myleetcode344 {
public void reverseString(char[] s) {
int len = s.length;
int num = len/2;
for(int i = 0; i<num;i++){
int j =len-i-1;
int a = s[i] - s[j];
s[i] = (char) (s[i] - a);
s[j] = (char) (s[j] + a);
}
}
public static void main(String[] args) {
String[] numTable = {"a","b","c"};
//后面还没想到怎么写
}
}
英文版dicuss中:
public String reverseString(String s) {
char[] c = s.toCharArray();
for (int i=0,j=c.length-1;i<j;i++,j--){
char temp = c[i];
c[i]=c[j];
c[j]=temp;
}
return new String(c);
}
通过粗略比较,想法是对的,但是j不知是否定义正确。
此外不需要相减,直接转换就好,走了弯路。
另外,是不需要写main函数的吗?为什么看了几个dicuss都没有。