首页 > 试题广场 >

两个子串

[编程题]两个子串
  • 热度指数:4986 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个字符串 s , 请计算输出含有连续两个 s 作为子串的最短字符串。 注意两个 s 可能有重叠部分。例如, "ababa" 含有两个 "aba".

数据范围:输入的字符串长度满足 ,且保证只含有小写英文字母

输入描述:
输入包括一个字符串s,字符串长度length(1 ≤ length ≤ 50),s中每个字符都是小写字母.


输出描述:
输出一个字符串,即含有连续两个s作为子串的最短字符串。
示例1

输入

abracadabra

输出

abracadabracadabra
示例2

输入

a

输出

aa
package main

import (
    "fmt"
    "strings"
)

func main() {
    var s string
    fmt.Scan(&s)
    for i:=1;i<len(s);i++{
        idx:=strings.Index(s,s[i:])
        if idx==0{
            fmt.Print(s[:i]+s)
            return
        }
    }
    fmt.Print(s+s)
}

发表于 2023-03-22 13:26:45 回复(0)