Problema
Dado un número entero positivo, devuelve el título de la columna correspondiente como aparece en una hoja de Excel. Por ejemplo:
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB
Solución Java
Este problema es la versión inversa del número de columna de la hoja de Excel.
La clave es n--
. El mínimo en el número de 26 bits se asigna a 1, no a 0.
public String convertToTitle(int n) { if(n <= 0){ throw new IllegalArgumentException("Input is not valid!"); } StringBuilder sb = new StringBuilder(); while(n > 0){ n--; char ch = (char) (n % 26 + 'A'); n /= 26; sb.append(ch); } sb.reverse(); return sb.toString(); } |