给你一个字符串 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();
}
}