168. Excel Sheet Column Title

2655 단어 Excel-Shee
168. Excel Sheet Column Title
Description: Given a positive integer, return its corresponding column title as appear in an Excel sheet. Example:
 1 -> A
 2 -> B
 3 -> C
 ...
26 -> Z
27 -> AA
28 -> AB 

Analysis: 이 문 제 는 10 진법 에서 26 진수 로 전환 하 는 것 과 비슷 하지만 약간의 차이 가 있 습 니 다.1. 우선, 우 리 는 (num - 1)% 26 + 1 을 사용 하여 낮은 자릿수 를 얻 습 니 다. num% 26 을 직접 사용 하 는 것 이 아니 라 후 자 는 '26' 을 '0' 으로 바 꿉 니 다. 2. 높 은 위 치 를 취 할 때 우 리 는 (num - 1) / 26 을 사용 합 니 다. 그러면 '26' 의 정수 배 진 위 를 방지 할 수 있 습 니 다.note: 개인 적 으로 사용 하 는 C + + 컴 파 일 러 버 전이 낮 기 때문에 다음 코드 에서 string: insert 함 수 는 사용 하기 가 힘 들 고 C + + 11 버 전 은 함수 에서 char 형식 인 자 를 직접 사용 할 수 있 을 것 같 습 니 다. (상세 한 내용 은:http://en.cppreference.com/w/cpp/string/basic_string/insert)。 Source Code(C++):
#include <iostream>
#include <string>
#include <cmath>
using namespace std;


class Solution {
public:
    string convertToTitle(int n) {
        string s;
        s = (char)((n-1)%26+65);        
        while (n>26) {
            n =(n-1)/26;
            char c = (char)((n-1)%26+65);
            s.insert(0, &c, 0, 1);
        }
        return s;
    }
};

int main() {
    Solution sol;
    cout << sol.convertToTitle(27);
    return 0;
}

좋은 웹페이지 즐겨찾기