zoukankan      html  css  js  c++  java
  • 【leetcode】1507. Reformat Date

    题目如下:

    Given a date string in the form Day Month Year, where:

    • Day is in the set {"1st", "2nd", "3rd", "4th", ..., "30th", "31st"}.
    • Month is in the set {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}.
    • Year is in the range [1900, 2100].

    Convert the date string to the format YYYY-MM-DD, where:

    • YYYY denotes the 4 digit year.
    • MM denotes the 2 digit month.
    • DD denotes the 2 digit day. 

    Example 1:

    Input: date = "20th Oct 2052"
    Output: "2052-10-20"
    

    Example 2:

    Input: date = "6th Jun 1933"
    Output: "1933-06-06"
    

    Example 3:

    Input: date = "26th May 1960"
    Output: "1960-05-26"

    Constraints:

    • The given dates are guaranteed to be valid, so no error handling is necessary.

    解题思路:day去掉后缀,剩下的数字前面补0直到补齐为两位,month直接转换,year不变。

    代码如下:

    class Solution(object):
        def reformatDate(self, date):
            """
            :type date: str
            :rtype: str
            """
            monthes = ["","Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
            item = date.split(" ")
    
            day = item[0].replace('th','').replace('st','').replace('nd','').replace('rd','').zfill(2)
            month = str(monthes.index(item[1])).zfill(2)
    
            return item[2]+'-' + month + '-' + day
            
  • 相关阅读:
    洛谷7月月赛 B 题解
    undone
    树剖学习
    关于两周后noip---小计划
    线段树技巧练习--GSS1
    链式前向星存图及注意要点
    错题集合
    树上差分问题
    2020暑假学习内容整理及后续计划
    安利大佬博客
  • 原文地址:https://www.cnblogs.com/seyjs/p/13656005.html
Copyright © 2011-2022 走看看