Leetcode每日一题-1.1

3280. 将日期转换为二进制表示

给你一个字符串 date,它的格式为 yyyy-mm-dd,表示一个公历日期。

date 可以重写为二进制表示,只需要将年、月、日分别转换为对应的二进制表示(不带前导零)并遵循 year-month-day 的格式。

返回 date二进制 表示。

思路

格式固定,只有将指定子字符串转为二进制再连接即可。

class Solution {
    public String convertDateToBinary(String date) {
        StringBuilder sb = new StringBuilder();
        // System.out.println();
        sb.append(toBinary(date.substring(0, 4))).append('-').append(toBinary(date.substring(5,7))).append('-').append(toBinary(date.substring(8)));
        return sb.toString();
    }
    
    public String toBinary(String number) {
        int num = Integer.valueOf(number);
        StringBuilder sb=new StringBuilder();
        while (num > 0) {
            if (num % 2 == 0) {
                sb.append('0');
            } else {
                sb.append('1');
            }
            num /= 2;
        }
        return sb.reverse().toString();
    }
}

LICENSED UNDER CC BY-NC-SA 4.0
Comment