LeetCode题解-Excel表列序号-Java

简介: Excel表列序号-Java

Excel表列序号题解,这个和罗马数字转换比较类似,都是比较实用的题。
下面是题解,可以参考

package easy;

import java.util.HashMap;
import java.util.Map;

public class TitleToNumber {
   
    public static void main(String[] args) {
   
        System.out.println(new TitleToNumber().titleToNumber("Z"));
    }
    public int titleToNumber1(String columnTitle) {
   
        Map<Character,Integer> char2num=new HashMap<>();
        for (int i = 0,j=1; i < 26; i++,j++) {
   
            char2num.put((char)('A'+i),j);
        }
        char[] chars = columnTitle.toCharArray();
        int result=0;
        int power=1;
        for (int i = chars.length - 1; i >= 0; i--) {
   
            result+=char2num.get(chars[i])*power;
            power*=26;
        }
        return result;
    }
    public int titleToNumber2(String columnTitle) {
   
        char[] chars = columnTitle.toCharArray();
        int result=0;
        int power=1;
        for (int i = chars.length - 1; i >= 0; i--) {
   
            result+=(chars[i]-'A'+1)*power;
            power*=26;
        }
        return result;
    }

    public int titleToNumber(String columnTitle) {
   
        int result=0;
        int power=1;
        char m='A'-1;
        for (int i = columnTitle.length() - 1; i >= 0; i--) {
   
            result+=(columnTitle.charAt(i)-m)*power;
            power*=26;
        }
        return result;
    }
}
目录
相关文章
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
252 6
|
存储 算法 Java
LeetCode经典算法题:打家劫舍java详解
LeetCode经典算法题:打家劫舍java详解
298 2
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
265 1
|
存储 算法 Java
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
293 1
|
算法 Java
LeetCode(一)Java
LeetCode(一)Java
247 0
|
算法 Java
[Java·算法·简单] LeetCode 283. 移动零
[Java·算法·简单] LeetCode 283. 移动零
239 2
|
存储 算法 数据挖掘
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
|
算法 数据挖掘 大数据
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
|
存储 算法 Java
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
399 0
|
算法 Java
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
277 0

热门文章

最新文章