LeetCode #171. Excel Sheet Column Number

LeetCode #171. Excel Sheet Column Number

題目:

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

 

解題概念:

#1.將字母轉成數字,透過ASCII表(A=65、B=66)。

#2.設立一數組來儲存轉換值(需求數字與ASCII的差)、A=64則減去64變成1並儲存。

#3.將數組中的值拿來計算求答案。

a=33。

aa=(33*26)+33。(891)。

aaa=(33*26+33)*26+33。(23199)。

aaaa=((33*26+33)*26+33)*26+33。(603207)

每多一層則 (*26) 及加現在層的值 (a=33、b=34)

public class Solution 
{
   public int TitleToNumber(string s)
        {
            char[] Number = s.ToCharArray();
            int[] intNumber = new int[Number.Length];
            int numberLength = Number.Length;
            int answer = 0;
            int carry = 26;

            for (int i = 0;i < numberLength; i++)
            {
                intNumber[i] = (Number[i]-64);
            }
            for (int j = 0; j < numberLength; j++)
            {
                answer = answer * carry + intNumber[j];
            }          
            return answer;
        }
}

本頁面為一點點累積學習寫程式之路。

許多資訊不是正確、或只是自己看的懂得。

如果不小心點進來誤導了您,還真的不好意思。