解题思路:这道题目并没有告诉你该如何设计算法, 需要你通过观察来找出规律然后自己设计算法。规律大概就是当前的代码是当前的值一半的代码然后通过奇偶判断来决定最后一位为1 或 0.
时间复杂度:O(logn) / 空间复杂度 O(1)
class Solution {
public:
string encode(int num) {
return num > 0 ? encode((num - 1) / 2) + "10"[num % 2] : "";
}
};
解题思路:这道题目并没有告诉你该如何设计算法, 需要你通过观察来找出规律然后自己设计算法。规律大概就是当前的代码是当前的值一半的代码然后通过奇偶判断来决定最后一位为1 或 0.
时间复杂度:O(logn) / 空间复杂度 O(1)
class Solution {
public:
string encode(int num) {
return num > 0 ? encode((num - 1) / 2) + "10"[num % 2] : "";
}
};