package com.interview.misc;
/**
* Given a positive integer, return its corresponding column title as appear in an Excel sheet.
* https://leetcode.com/problems/excel-sheet-column-title/
*/
public class ConvertNumberIntoBase26 {
public String numberToBase26(int n) {
StringBuffer buff = new StringBuffer();
while (n > 0) {
n--;
buff.append((char)(n % 26 + 'A'));
n = n / 26;
}
return buff.reverse().toString();
}
public int base26ToNumber(String str) {
int result = 0;
int pow = 1;
for(int i = str.length() - 1; i>=0; i--) {
char s = str.charAt(i);
s = (char)(s - 'A'+1);
result += s*pow;
pow *= 26;
}
return result;
}
public static void main(String args[]) {
ConvertNumberIntoBase26 cni = new ConvertNumberIntoBase26();
System.out.println(cni.numberToBase26(704));
System.out.println(cni.base26ToNumber("AAB"));
System.out.println(cni.numberToBase26(52));
System.out.println(cni.base26ToNumber("AZ"));
System.out.println(cni.numberToBase26(13));
System.out.println(cni.base26ToNumber("M"));
System.out.println(cni.numberToBase26(126));
System.out.println(cni.base26ToNumber("DV"));
}
}