原题链接在这里:https://leetcode.com/problems/base-7/#/description
题目:
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].
题解:
每次num%7放在前面. num再除以7. 最后加上正负号.
注意corner case: num = 0.
Time Complexity: O(num/7). Space: O(1).
AC Java:
1 public class Solution { 2 public String convertToBase7(int num) { 3 if(num == 0){ 4 return "0"; 5 } 6 7 boolean isNeg = false; 8 if(num < 0){ 9 isNeg = true; 10 } 11 12 num = Math.abs(num); 13 StringBuilder sb = new StringBuilder(); 14 while(num != 0){ 15 sb.insert(0, num%7); 16 num /= 7; 17 } 18 19 return isNeg ? "-"+sb.toString() : sb.toString(); 20 } 21 }