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

相關文章
相關標籤/搜索