Leetcode PHP题解--D93 171. Excel Sheet Column Number


D93 171. Excel Sheet Column Number

题目链接

171. Excel Sheet Column Number

题目分析

用过Excel的网友应该知道,它从A列开始到Z列,Z列之后是AA列,AB列,以此类推。

现在给定一个列名,需要转换成数字。

思路

这题的本质是26进制到十进制的转换。

首先,需要把A~Z转换成1到26。

之后,从最低位开始,每一位为26的n次方。

最终代码

<?php
class Solution {

    /**
     * @param String $s
     * @return Integer
     */
    function titleToNumber($s) {
        $len = strlen($s);
        $s = str_split($s);
        $number = 0;
        while($len){
            $number += (ord(array_shift($s))-ord('A')+1)*pow(26,--$len);
        }
        return $number;
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。


点赞 取消点赞 收藏 取消收藏

<< 上一篇: Leetcode PHP题解--D92 606. Construct String from Binary Tree

>> 下一篇: Leetcode基础刷题之PHP解析(18. 4Sum)