• [LeetCode]61. Excel Sheet Column Number Excel列序号


    Related to question Excel Sheet Column Title

    Given a column title as appear in an Excel sheet, return its corresponding column number.

    For example:

        A -> 1
        B -> 2
        C -> 3
        ...
        Z -> 26
        AA -> 27
        AB -> 28 

    Credits:
    Special thanks to @ts for adding this problem and creating all test cases.

    Subscribe to see which companies asked this question

     
    解法:相当于26进制转10进制。
    class Solution {
    public:
        int titleToNumber(string s) {
            int n = s.size(), res = 0;
            for (int i = 0; i < n; ++i)
                res += (toupper(s[i]) - 'A' + 1) * (int)pow(26, n - i - 1);
            return res;
        }
    };

    不使用pow函数的改进:

    class Solution {
    public:
        int titleToNumber(string s) {
            int n = s.size(), res = 0, i = 0;
            for (; i < n - 1; ++i) { //注意不能循环到n-1,防止溢出
                res += (toupper(s[i]) - 'A' + 1);
                res *= 26;
            }
            return res + (toupper(s[i]) - 'A' + 1);
        }
    };
  • 相关阅读:
    【leetcode】对称二叉树
    【leetcode】判断回文数
    053686
    053685
    053684
    053683
    053682
    053681
    053680
    053477
  • 原文地址:https://www.cnblogs.com/aprilcheny/p/4943338.html
Copyright © 2020-2023  润新知