zoukankan      html  css  js  c++  java
  • 459. 重复的子字符串(LeetCodet题库)

    来源:力扣(LeetCode)

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

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

    示例 1:

    输入: "abab"

    输出: True

    解释: 可由子字符串 "ab" 重复两次构成。
    示例 2:

    输入: "aba"

    输出: False
    示例 3:

    输入: "abcabcabcabc"

    输出: True

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

    思路:

    给定一个字符串  s ,假如 s为 重复X子串 构成 应该是n个子串 (n>=2) ; 

    那么 2s 也为重复子串 ,同 2n个 X子串;

    在2s 中破坏首尾的子串,此时将只剩下 2n-2个x子串,

    又因为 n>=2 ,那么破损的2s中应该有n个连续的子串;

        public bool RepeatedSubstringPattern(string s) {
            //   复制一次  s=1212  S=ss=12121212
    
            // 掐头去尾   中间最少有一个  1212 s   
           return  (s+s).Substring(1,(s.Length*2)-2).IndexOf(s)>=0;
        }
    

      

  • 相关阅读:
    字符串时间+8个小时
    Django的field字段与参数介绍
    celery+Django
    二分查找
    排序算法
    socket套接字
    网络七层协议简述
    ORM操作mysql数据库多表的增删改查
    ORM操作mysql数据库
    Django框架静态文件配置和URL解析
  • 原文地址:https://www.cnblogs.com/netCat/p/13553241.html
Copyright © 2011-2022 走看看