题目链接: https://leetcode-cn.com/problems/repeated-substring-pattern

难度:简单

通过率:42.6%

题目描述:

给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。

示例:

示例 1:

**输入:** "abab"**输出:** True**解释:** 可由子字符串 "ab" 重复两次构成。

示例 2:

**输入:** "aba"**输出:** False

示例 3:

**输入:** "abcabcabcabc"**输出:** True**解释:** 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)

思路:

思路一:

该方法最容易想,就是找前缀,看s是否能有几个这样前缀组成。

思路二:

我们知道如果s是重复字符串,那么可以由两个子串组成。我们通过ss = s + s就有4个子串组成,

删除首尾字母,那么 ss[1:-1]就有应该有2个子串组成,就是说ss[1:-1]是否存在s

代码:

思路一:

class Solution:def repeatedSubstringPattern(self, s: str) -> bool:n = len(s)for i in range(1, len(s) // 2 + 1):a, b = divmod(n, i)if b == 0 and s[:i] * a  == s:return Truereturn False

思路二:

class Solution:def repeatedSubstringPattern(self, s: str) -> bool:return (s+s)[1:-1].find(s) != -1

字符串删除首尾_[LeetCode] 459. 重复的子字符串相关推荐

  1. 字符串专题-LeetCode:剑指 Offer 58 - II. 左旋转字符串、LeetCode 459.重复的子字符串、 代码思路和注意点

    文章目录 一.剑指 Offer 58 - II. 左旋转字符串 二.LeetCode 459.重复的子字符串 一.剑指 Offer 58 - II. 左旋转字符串 思路: 预留出n个字符空间s.res ...

  2. LeetCode 459. 重复的子字符串(数学)

    1. 题目 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: 输入: "abab" 输出: T ...

  3. leetcode 459. 重复的子字符串(Java版)

    题目 https://leetcode-cn.com/problems/repeated-substring-pattern/ 思路 暴力解法 + 剪枝优化 经过尝试,如果直接使用暴力解法会超时,于是 ...

  4. js实现kmp算法_「leetcode」459.重复的子字符串:KMP算法还能干这个!

    不瞒你说,重复子串问题,KMP很拿手 题目459.重复的子字符串 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: ...

  5. 随想录Day9--28. 实现 strStr() , 459.重复的子字符串

    今天的两道题关键在于学习KMP算法.KMP算法运用场景在于一串字符串里面查找是否含有某个子字符串,如"abcdef"里面就含有"cdf"这么个子字符串.先把题目 ...

  6. 代码随想录Day09:28. 实现 strStr()、459.重复的子字符串、字符串总结 、双指针回顾

    目录 Day09:28. 实现 strStr().459.重复的子字符串.字符串总结 .双指针回顾 28. 实现 strStr() (一刷只看了思想) 459.重复的子字符串 (本题一刷跳过了) 字符 ...

  7. 算法Day8|字符串专题二 剑指 Offer 58 - II. 左旋转字符串,28. 找出字符串中第一个匹配项的下标,459. 重复的子字符串

    剑指 Offer 58 - II. 左旋转字符串 解题思路: 反转区间为前n的子串 反转区间为n到末尾的子串 反转整个字符串 class Solution {public String reverse ...

  8. 402-字符串(题目:剑指Offer58-II.左旋转字符串、 28. 实现 strStr()、459.重复的子字符串)

    题目:剑指Offer58-II.左旋转字符串 class Solution {public:string reverseLeftWords(string s, int n) {string s1(s. ...

  9. 459. 重复的子字符串-KMP算法

    459. 重复的子字符串 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成. 示例 1: 输入: s = "abab" 输出: true 解释: 可由子串 & ...

最新文章

  1. 做个md5查询站(2)初步设计
  2. 零基础自学python教程-零基础5个月快速学会Python的秘诀
  3. 阅读《第31次中国互联网络发展状况统计报告》,分析中国互联网发展趋势和特点...
  4. ​“免疫杀手” Deep X-RAY
  5. 前端面试常见HTML问题(一)
  6. 如果今天设计了Java:同步接口
  7. 我以订披萨为例,给朋友详细讲了Java设计模式的3种工厂模式
  8. [Craftor整理]PCB设计参考和建议
  9. BM模式匹配算法原理(图解)
  10. [python] 字典 pop(key)函数:删除字典中key及其值,并返回该值
  11. 创新声卡KX驱动安装、调试、使用教程
  12. java digester_xml和java对象的解决:Digester | 学步园
  13. forrtl: error (200): program aborting due to control-C event
  14. 宝洁中国CIO沈锋:全球日化巨头是如何做数字化的|数字思考者50人
  15. 华文行楷字帖欣赏_毛笔行书欣赏,华文行楷在线转换,偏旁部首练字帖,
  16. 高清和网络电视是数字电视的希望
  17. 舍弗勒城市车辆转向系统研究完成,可实现全自动平行泊车
  18. 如何在EDUIS中导出ETL字幕模板_Arctime教程——将字幕导出到剪辑/合成软件
  19. any_value()
  20. MTK关于手机AGPS问题总结

热门文章

  1. Mac OS包管理器Homebrew
  2. 蓝牙协议 HFP,HSP,A2DP,A2DP_CT,A2DP_TG,AVRCP,OPP,PBAP,SPP,FTP,TP,DTMF,DUN,SDP
  3. Css框架and公共Css文件
  4. 疯狂ios讲义之网页控件(UIWebView)
  5. 对象的当前状态使该操作无效 说明: 执行当前 Web 请求期间,出现未处理的异常。...
  6. C#interface定义及使用浅析
  7. 如何允许非Administrator用户远程登录主机
  8. 帮助你高效开发Ajax应用的超酷jQuery插件 - AjaxML
  9. ASP.NET MVC Beta 新特性之 IValueProvider
  10. 【Demo】采购订单收货Bapi