504. Base 7
生活随笔
收集整理的這篇文章主要介紹了
504. Base 7
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Given an integer, return its base 7 string representation.Example 1:Input: 100
Output: "202"Example 2:Input: -7
Output: "-10"Note: The input will be in range of [-1e7, 1e7].
?解題:題意很容易理解,將十進制整型數轉化為七進制的數,并以字符串的形式返回。先看我寫的第一種方法,比較繁瑣,也利用了StringBuffer和堆棧,代碼如下:
1 class Solution { 2 public String convertToBase7(int num) { 3 Stack<Integer>stack = new Stack<Integer>(); 4 boolean isNagative = false; 5 if(num < 0){ 6 isNagative = true; 7 num = -num; 8 } 9 while(num != 0){ 10 stack.push(num % 7); 11 num /= 7; 12 } 13 StringBuffer result = new StringBuffer(""); 14 15 while(!stack.isEmpty()) result.append(String.valueOf(stack.pop())); 16 if(result.length() == 0) 17 return String.valueOf(0); 18 else if(isNagative) 19 return '-'+result.toString(); 20 else return result.toString(); 21 } 22 }稍微改進一下,去掉棧和StringBuffer,直接使用String及其性質,速度會快很多,代碼如下:
1 class Solution { 2 public String convertToBase7(int num) { 3 boolean isNagative = false; 4 String result = ""; 5 if(num < 0){ 6 isNagative = true; 7 num = -num; 8 } 9 while(num != 0){ 10 result = String.valueOf(num % 7) + result; 11 num /= 7; 12 } 13 if(result.length() == 0) 14 return String.valueOf(0); 15 else if(isNagative) 16 return '-'+result; 17 else return result; 18 } 19 }當然也可以這樣,雖然有點投機取巧:
1 public String convertToBase7(int num) { 2 return Integer.toString(num, 7); 3 }?
轉載于:https://www.cnblogs.com/phdeblog/p/9168181.html
總結
以上是生活随笔為你收集整理的504. Base 7的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jquery获取参数(解决参数中文乱码问
- 下一篇: 回溯经典(指定位置N皇后问题)