您的位置:首页 > 其它

【leetcode】Excel Sheet Column Title & Excel Sheet Column Number

2016-02-01 20:41 323 查看
两道相关联的题目,一个是将数字转换为26进制,一个是将26进制表示方法转换为10进制

第一次觉得java好慢。

public class Solution {
public String convertToTitle(int n) {
StringBuilder sb = new StringBuilder();
while (n > 0) {
int apd = n % 26;
char c;
if (apd == 0) {
c = 'Z';
n = n / 26 - 1;
} else
{
c = (char) (apd + 'A' - 1);
n = n / 26;
}
sb.append(c);
}
return sb.reverse().toString();
}
}


public class Solution {
public int titleToNumber(String s) {
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
char c = 'A';
for(int i=1;i<=26;++i){
map.put(c,i);
c += 1;
}
int result = 0;
int i = s.length()-1;
int t = 0;
while(i >= 0){
char curr = s.charAt(i);
result = result + (int) Math.pow(26, t) * map.get(curr);
t++;
i--;
}
return result;
}
}


Math.pow(底数,几次方)
如:double a=2.0;
double b=3.0;
double c=Math.pow(a,b);
就是2的三次方是多少;
c最终为8;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: