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 wil be in range of [-1e7, 1e7].
解题思路:
题意:将十进制数字转换成7进制,且以字符串形式返回。若数字为负数,则将其绝对值转换后再添加符号。
class Solution {
public:
string convertToBase7(int num) {
if (num==0)
return "0";
bool flag = (num>0)?true:false;
num = (num>0)?num:num*(-1);
string res;
int tmp;
while (num!=0)
{
tmp = num%7;
num /= 7;
res = to_string(tmp)+res;
}
if (!flag)
res = string(1, '-')+res;
return res;
}
};
本题笔记:
此题的思路很简单,关键在于字符串赋值与连接的熟练使用。
1. 字符串初始化
// format 1: string s(n, 'c')
std::string s1(10, 'a');
// format 2:
std::string s("value");
2.字符串的连接
s = s1+s2;
3.to_string: convert numerical value to string
//string to_string (int value);
std::to_string(10);