LeetCode #168 Excel Sheet Column 제목 Excel 테이블 이름

1453 단어
Description: Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB 
...

Example: Example 1: Input: 1 Output: "A"
Example 2: Input: 28 Output: "AB"
Example 3: Input: 701 Output: "ZY"
제목 설명: 엑셀 테이블에 해당하는 열 이름을 반환하는 정수를 지정합니다.
예를 들어,
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB 
...

예: 예 1: 입력: 1 출력: A
예 2: 입력: 28 출력: "AB"
예 3: 입력: 701 출력: "ZY"
사고방식: 26의 여수와 상인을 끊임없이 취하면 된다. 경계 조건의 시간 복잡도 O(logn), 공간 복잡도 O(1)
코드: C++:
class Solution {
public:
    string convertToTitle(int n) {
        string result = "";
        while (n) {
            n--;
            result += n % 26 + 'A';
            n /= 26;
        }
        reverse(result.begin(), result.end());
        return result;
    }
};

Java:
class Solution {
    public String convertToTitle(int n) {
        return n == 0 ? "" : convertToTitle(--n / 26) + (char)(n % 26 + 'A');
    }
}

Python:
class Solution:
    def convertToTitle(self, n: int) -> str:
        if not n:
            return ""
        n -= 1
        return self.convertToTitle(n // 26) + chr(n % 26 + ord('A'))

좋은 웹페이지 즐겨찾기