LeetCode Base 7

LeetCode 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].


本题要把10进制数转换为7进制数。

根据以往10进制转换为2进制的规则,使用短除法,不断的除2取余数,然后把所有余数反排就得到二进制结果了。

将10进制转换为7进制的方法也是一样,不断的除7取余,余数反排就好了。

代码如下:

class Solution {
public:
    string convertToBase7(int num) {
    	if(num == 0) return "0";
    	int num_cp = num < 0 ? -num : num;
    	string ans = "";
    	while(num_cp != 0){
    		ans = to_string(num_cp % 7) + ans;
    		num_cp /= 7;
    	}
    	if(num < 0) return "-" + ans;
    	else return ans;
    }
};

本代码提交AC,用时3MS。

Leave a Reply

Your email address will not be published. Required fields are marked *