又有段时间没更新了…最近的周末炒鸡忙,先更点存货,放两道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%的用户。讨论区应该还有更加精妙的算法
领取专属 10元无门槛券
私享最新 技术干货