第一种更简洁,但s.toCharArray()要占用O(N)的空间吧?
public int titleToNumber(String s) {
int res = 0;
for (char c: s.toCharArray())
res = res * 26 + (c - 'A' + 1);
return res;
}
第二种有点啰嗦,但不需要额外占用O(N)的空间,不过s本来就要占O(N)的空间啊
public int titleToNumber1(String s) {
int res = 0;
for (int i = 0; i < s.length(); i++)
res = res * 26 + (s.charAt(i) - 'A' + 1);
return res;
}
哪种更好?