zoukankan      html  css  js  c++  java
  • 力扣(LeetCode)旋转字符串 个人题解

    给定两个字符串, A 和 B

    A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' 。如果在若干次旋转操作之后,A 能变成B,那么返回True

    示例 1:
    输入: A = 'abcde', B = 'cdeab'
    输出: true
    
    示例 2:
    输入: A = 'abcde', B = 'abced'
    输出: false

    注意:

    • A 和 B 长度不超过 100

    正常的做法比较清晰了,可以一次移位一个去比较,全部移位一遍后没有匹配成功则返回false

    在评论区看到一个神奇做法,将A复制一份,首尾相连,即A+A,然后判断B是否在A+A里面就可以了

    非常巧妙而且快捷。

    代码如下:

    class Solution:
        def rotateString(self, A: str, B: str) -> bool:
            return len(A) == len(B) and B in (A+A)
  • 相关阅读:
    sql,linq基础再一次学习
    position与aop
    java基础常用类!
    JNI初步!
    java基础动态代理!
    java基础面向对象!
    php初步!
    java基础泛型!
    java基础对象多态性!
    java基础io流!
  • 原文地址:https://www.cnblogs.com/axiangcoding/p/10503068.html
Copyright © 2011-2022 走看看