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不成妻
    K
    F
    树状数组
    34.在排序数组中查找元素的第一个和最后一个位置--二分查找
    CSS选择器及其权重
    CSS布局 圣杯和双飞翼
    983. 最低票价 -- 动态规划
    合并k个排序链表 二分
    面试题 16.03. 交点
  • 原文地址:https://www.cnblogs.com/seyjs/p/13656005.html
Copyright © 2011-2022 走看看