LeetCode刷题笔记

又有段时间没更新了…最近的周末炒鸡忙,先更点存货,放两道Medium难度的题目

5. Longest Palindromic Substring

题目

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.

Example

代码

解释

这道题目要求找出字符串的最长回文子字符串,这里可以采用递归的方式找出该字符串,但是运行速度会比较慢,笔者采用了对长度为奇数和偶数的回文字符串采用不同的识别方式,从外至内的一层层剥皮寻找直到找到符合条件的子字符串,运行时间超过了72.92%的python用户。

6. ZigZag Conversion

题目

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)

And then read line by line: "PAHNAPLSIIGYIR"

Write the code that will take a string and make this conversion given a number of rows:

Example

代码

解释

这道题目非常有意思,笔者也是绞尽脑汁,最重要的还是找到zigzag分布的规律,笔者为每一行建立了一个包含空字符串的列表,然后按zigzag顺序依次加入字母,最后再连接这些列表里的字符串,最终达到了要求,但是仅超过了65%的用户。讨论区应该还有更加精妙的算法

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180624G0VHA800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券