LeetCode1507. 转变日期格式

一. 题目
  1. 题目
    在这里插入图片描述

  2. 示例
    在这里插入图片描述

二. 方法一: 第一思路
  1. 解题思路
    但是写日期的hash表太过麻烦, 而且中途还写错了"21"和"22"的日期

  2. 解题代码

    def reformatDate(self, date: str) -> str:
        day = {"1st": "01", "2nd": "02", "3rd": "03", "4th": "04", "5th": "05", "6th": "06","7th": "07", 
        "8th": "08", "9th": "09", "10th": "10", "11th": "11", "12th": "12", "13th": "13", "14th": "14", 
        "15th": "15", "16th": "16", "17th": "17", "18th": "18", "19th": "19", "20th": "20", "21st": "21", 
        "22nd": "22", "23rd": "23", "24th": "24", "25th": "25", "26th": "26", "27th": "27", "28th": "28", 
        "29th": "29", "30th": "30", "31st": "31"}
        month = {"Jan": "01", "Feb": "02", "Mar": "03", "Apr": "04", "May": "05", "Jun": "06", 
        "Jul": "07", "Aug": "08", "Sep": "09", "Oct": "10", "Nov": "11", "Dec": "12"}
    
        time = date.split(" ")
        return time[2] + "-" + month[time[1]] + "-" + day[time[0]]
    
  3. 分析

三. 方法二: 优化
  1. 解题思路
    由于日的后面都有一个2位的后缀, 并且最终用0补位. 所以可以先去掉后缀, 再用0补足2为即可,
    这样就不用对日进行hash表的创建

  2. 解题代码

    def reformatDate(self, date: str) -> str:
       	month = {"Jan": "01", "Feb": "02", "Mar": "03", "Apr": "04", "May": "05", "Jun": "06", 
       	"Jul": "07", "Aug": "08", "Sep": "09", "Oct": "10", "Nov": "11", "Dec": "12"}
    
       	time = date.split(" ")
       	return time[2] + "-" + month[time[1]] + "-" + time[0][:-2].zfill(2)
    
  3. 分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值