- Total Accepted: 12212
- Total Submissions: 26829
- Difficulty: Easy
- Contributors:
Given an integer, return its base 7 string representation.
Example 1:
Input: 100 Output: "202"
Example 2:
Input: -7 Output: "-10"
首先想到的是比较一般的思路:
class Solution { public: string convertToBase7(int num) { vector<int> vet; int num1; string s=""; if(num==0) return s+="0"; else if (num < 0) { num1 = -num; while (num1) { vet.push_back(num1 % 7); num1 = num1 / 7; } s = "-"; for (int i = vet.size()-1; i >= 0; i--) { s += to_string(vet[i]); } } else { while (num) { vet.push_back(num % 7); num = num / 7; } for (int i = vet.size() - 1; i >= 0; i--) { s += to_string(vet[i]); } } return s; } };
接下来,就是改进:
class Solution { public: string convertToBase7(int num) { string result; int anum = abs(num); while(anum >= 7) { result = to_string(anum%7) + result; anum /= 7; } result = to_string(anum) + result; if(num < 0) { result = "-" + result; } return result; } };