codewars064 - Get the Excel column title!

Instructions

https://www.codewars.com/kata/get-the-excel-column-title/train/java

Solution:

import java.util.Stack;
public class GetExcelColumnTitle {
  private static final	String digits = "0ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  public static String getColumnTitle(int num) {

	  final int base = 26;
	  if(num <= 0){
		  throw new IllegalArgumentException();
	  }
	  StringBuilder sb = new StringBuilder();
	  
	  Stack<Character> s = new Stack<Character>();
	  while(num != 0){
		  if(num % base != 0){
			  s.push(digits.charAt(num % base));  
			  num = num / base;		
		  }else{
			  s.push(digits.charAt(base));
			  num = num / base - 1;
		  }		   
	  }
	  while(!s.isEmpty()){
		  sb.append(s.pop());
	  }
    return sb.toString();
  
  }
}

Sample Tests:

https://www.codewars.com/kata/get-the-excel-column-title/train/java

Ref

http://ideasforjava.iteye.com/blog/636685
相關文章
相關標籤/搜索