LeetCode 459. Repeated Substring Pattern

LeetCode 459. Repeated Substring Pattern (重复的子字符串)

题目

链接

https://leetcode.cn/problems/repeated-substring-pattern/

问题描述

给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。

示例

输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。

提示

输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。

思路

假设字符串为abcabc,子串应该为abc,那么两个串合并之后去除首尾字符,为bcabcabcab,去除了本来可能存在的子串,但是还是包含abc,就代表应该存在所需子串。

复杂度分析

时间复杂度 O(n)
空间复杂度 O(n)

代码

Java

    public boolean repeatedSubstringPattern(String s) {
        String str = s + s;
        return str.substring(1, str.length() - 1).contains(s);
    }
posted @   cheng102e  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示