/**
* Author:SunLala
* Date: 2022/5/22
* 功能描述:()
*/
public class Test21 {
public static void main(String[] args) {
System.out.println( titleToNumber("ZY"));
System.out.println( titleToNumber("AB"));
}
public static int titleToNumber(String columnTitle) {
int res = 0;
for (int i = 0; i < columnTitle.length() ; i++) {
int k = columnTitle.charAt(i)-'A'+1;
res += k*(Math.pow(26,columnTitle.length()-1-i));
System.out.println(res);
}
return res;
}
}
知识点:
java中表达多少次方用
Math.pow(m,n),代表m的n次方,
Excel列名称
public static String convertToTitle(int columnNumber) {
if(columnNumber <= 0){
return "";
}
StringBuffer sb = new StringBuffer();
while (columnNumber>0){
columnNumber--;
sb.append((char) (columnNumber%26 + 'A'));
columnNumber = columnNumber/26;
}
return sb.reverse().toString();
}
最终败了,该Excel列名称 算法是参考别人的https://leetcode.cn/problems/excel-sheet-column-title/comments/
自己想到了除26,想到了求模,想到了要减1,愣是写不出来符合所有case的算法
自己写的不亮了,还是学习路上