zoukankan      html  css  js  c++  java
  • 1347 旋转字符串

    1347 旋转字符串

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
    收藏
    关注

    S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1…n-1]+S[0].比如S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后半段一样。比如”abcabc”是对串,”aabbcc”则不是。

    现在问题是给定一个字符串,判断他是否可以由一个对串旋转任意次得到。

    Input
    第1行:给出一个字符串(字符串非空串,只包含小写字母,长度不超过1000000)
    Output
    对于每个测试用例,输出结果占一行,如果能,输出YES,否则输出NO。
    Input示例
    aa
    ab
    Output示例
    YES
    NO
     题意: 一开始看题意还以为要对字符串旋转呢,真坑,结果对"对串"分析一下就出来了.
     1 #include <bits/stdc++.h>
     2 #define N 1000005
     3 using namespace std;
     4 char k[N];
     5 int main(){
     6   while(~scanf("%s",k)){
     7     if(strlen(k)%2==1)
     8       printf("NO
    ");
     9     else{
    10       bool prime=true;
    11       int ans=strlen(k)/2;
    12       for(int i=0;i<ans;i++){
    13         if(k[i]!=k[i+ans]){
    14           prime=false;
    15           break;
    16         }
    17       }
    18       if(prime)
    19         printf("YES
    ");
    20       else
    21         printf("NO
    ");
    22     }
    23   }
    24   return 0;
    25 }
  • 相关阅读:
    面向对象三大特性五大原则
    如何快速的浏览项目
    网页测速
    截取字符串
    iOS-tableView点击下拉菜单
    iOS_block内存分析
    iOS_ @property参数分析
    iOS-设计模式之Block
    iOS-设计模式之代理反向传值
    iOS-设计模式之通知
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/7375627.html
Copyright © 2011-2022 走看看