解析
使用数组保存闰年每个月的天数方便计算,之后再判断是否为平年,如果是且月份大于2,就要减去一天
代码
class Solution {public:int dayOfYear(string date) {int dayTable[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int year = stoi(date.substr(0, 4));int month = stoi(date.substr(5, 2));int day = stoi(date.substr(8, 2));int dayNum = day;for (int i = 1; i < month; i++) {dayNum += dayTable[i - 1];}if (month > 2) {if (year % 4 != 0 || ((year % 100 == 0) && (year % 400 != 0))) {dayNum--;}}return dayNum;}};
