1.题目描述
2.知识点
因为是输入字符 然后显示数字。
就类似2进制10代表2,110代表4,用某进制次幂的方式返回最后的数字结果。
3.代码实现
class Solution {public int titleToNumber(String columnTitle) {int sum=0;for(int i=0;i<columnTitle.length();i++){int value=columnTitle.charAt(i)-'A'+1;sum=sum*26+value;}return sum;}
}
人工demo一下
比如AB代表的是1*26+2*26^0=28
(1)i=0,value=1, sum=0*26+1
根据归纳法,sum=sum*26+value=1
(2)i=1,value=2,sum=1*26+2=28
根据归纳法,sum=sum*26+value=1*26+2=28
比如ABC代表的是1*26*26+2*26+3*1=731
(1)i=0,value=1,sum=1
(2)i=1,value=2,sum=1*26+2=28
(3)i=2,value=3,sum=28*26+3=731注:sum=(1*26+2)*26+3=1*26*26+2*26+3