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;
    }
}
目录
相关文章
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
23 1
|
9天前
|
算法 Java C语言
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
22 0
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
26 0
|
1月前
|
存储 canal 算法
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
23 0
|
1月前
|
算法 Java
[Java·算法·中等] LeetCode15. 三数之和
[Java·算法·中等] LeetCode15. 三数之和
30 0
|
5天前
【力扣】168. Excel表列名称、171. Excel 表列序号
【力扣】168. Excel表列名称、171. Excel 表列序号
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
21 0
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
20 0
|
1月前
|
算法 Java 索引
[Java·算法·简单] LeetCode 141. 环形链表 详细解读
[Java·算法·简单] LeetCode 141. 环形链表 详细解读
23 0