Welcome to Subscribe On Youtube
168. Excel Sheet Column Title
Description
Given an integer columnNumber
, return its corresponding column title as it appears in an Excel sheet.
For example:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
Example 1:
Input: columnNumber = 1 Output: "A"
Example 2:
Input: columnNumber = 28 Output: "AB"
Example 3:
Input: columnNumber = 701 Output: "ZY"
Constraints:
1 <= columnNumber <= 231 - 1
Solutions
-
class Solution { public String convertToTitle(int columnNumber) { StringBuilder res = new StringBuilder(); while (columnNumber != 0) { --columnNumber; res.append((char) ('A' + columnNumber % 26)); columnNumber /= 26; } return res.reverse().toString(); } }
-
class Solution: def convertToTitle(self, columnNumber: int) -> str: res = [] while columnNumber: columnNumber -= 1 res.append(chr(ord('A') + columnNumber % 26)) columnNumber //= 26 return ''.join(res[::-1])
-
func convertToTitle(columnNumber int) string { res := []rune{} for columnNumber != 0 { columnNumber -= 1 res = append([]rune{rune(columnNumber%26 + int('A'))}, res...) columnNumber /= 26 } return string(res) }
-
function convertToTitle(columnNumber: number): string { let res: string[] = []; while (columnNumber > 0) { --columnNumber; let num: number = columnNumber % 26; res.unshift(String.fromCharCode(num + 65)); columnNumber = Math.floor(columnNumber / 26); } return res.join(''); }
-
public class Solution { public string ConvertToTitle(int columnNumber) { StringBuilder res = new StringBuilder(); while (columnNumber != 0) { --columnNumber; res.Append((char) ('A' + columnNumber % 26)); columnNumber /= 26; } return new string(res.ToString().Reverse().ToArray()); } }
-
impl Solution { #[allow(dead_code)] pub fn convert_to_title(column_number: i32) -> String { let mut ret = String::from(""); let mut column_number = column_number; while column_number > 0 { if column_number <= 26 { ret.push((('A' as u8) + (column_number as u8) - 1) as char); break; } else { let mut left = column_number % 26; left = if left == 0 { 26 } else { left }; ret.push((('A' as u8) + (left as u8) - 1) as char); column_number = (column_number - 1) / 26; } } ret.chars().rev().collect() } }