文章目录
- 1. 题目
- 2. 解题
1. 题目
给你一个非负整数 num ,返回它的「加密字符串」。
加密的过程是把一个整数用某个未知函数进行转化,你需要从下表推测出该转化函数:
示例 1:
输入:num = 23
输出:"1000"示例 2:
输入:num = 107
输出:"101100"提示:
0 <= num <= 10^9
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/encode-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 解密:数字+1,转成二进制,删除最高位
class Solution {
public:string encode(int num) {num++;bitset<32> bs(num);string ans = bs.to_string();//bitset高位在左边int i = 0;while(ans[i]=='0')i++;return ans.substr(i+1);//+1跳过了高位}
};
0 ms 6 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!