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

D93 171. Excel Sheet Column Number

题目连接

171. Excel Sheet Column Numberphp

题目分析

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

如今给定一个列名,须要转换成数字。excel

思路

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

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

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

最终代码

<?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;
    }
}

若以为本文章对你有用,欢迎用爱发电资助。it

相关文章
相关标签/搜索