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;
    }
}
目录
相关文章
|
11月前
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
120 6
|
11月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
117 1
|
11月前
|
存储 算法 Java
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
137 1
|
11月前
|
存储 算法 Java
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
146 0
|
11月前
|
算法 Java
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
109 0
|
11月前
|
存储 算法 Java
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
99 0
|
11月前
|
算法 Java 索引
LeetCode初级算法题:寻找数组的中心索引+x的平方根+三个数的最大乘积+Leetcode 149:直线上最多的点数 Java详解
LeetCode初级算法题:寻找数组的中心索引+x的平方根+三个数的最大乘积+Leetcode 149:直线上最多的点数 Java详解
77 0
|
11月前
|
存储 算法 Java
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
92 0
|
算法 Java
[Java·算法·简单] LeetCode 283. 移动零
[Java·算法·简单] LeetCode 283. 移动零
83 2
|
算法 Java
[Java·算法·中等] LeetCode21. 合并两个有序链表
[Java·算法·中等] LeetCode21. 合并两个有序链表
168 2

热门文章

最新文章