字符串问题之 判断两个字符是否互为旋转词

把一个字符串str 前面任意的部分挪到后面形成的字符串叫做str的旋转词

举例, a="cdab" b="abcd" 返回true

a="1ab2" b="ab12" 返回false

解法很简单,

首先长度要一样

然后 生成一个大字符串b2 为两个字符串b拼在一起的结果

最后看看 b2中是否包含字符串a

package TT;

public class Test3 {

    public boolean isRotation(String a, String b){

        if(a==null || b==null || a.length() != b.length()){
            return false;
        }
        String b2 = b+b;
        return getIndexOf(b2, a)!=-1;O

    }

}
时间: 2024-07-28 15:14:59

字符串问题之 判断两个字符是否互为旋转词的相关文章

判断两个字符串是否互为旋转词

题目 对于一个字符串str,把前面任意部分挪到后面形成的字符串叫作str的旋转词.比如str="12345",其旋转词有"23451"."34512"."45123"."51234".给定两个字符串a和b,判断a和b是否互为旋转词. 实现 这是一种非常讨巧的实现方式,将原始字符串累加一次,并以用String自带的contains方法判断是否包含所判断的是否匹配的字符串 import org.junit.As

判断两个byte是否互为格雷码。

如果两个byte的二进制表示中仅有一位不同,则它们互为格雷码,写个函数判断两个byte是否互为格雷码. public class IsCogray { public boolean isCogray(char a, char b) { int m = a ^ b; return m != 0 && (m & (m - 1) & 0xff) == 0; } public static void main(String[] args) { IsCogray ic = new I

判断两个字符相似度

public static double SimilarityNoContains(string a, string b) { string a1 = ""; string b1 = ""; if (a==b) { return 1; } //消除重复 for (int i = 0; i < a.Length; i++) { string emtpy = a.Substring(i, 1).ToString(); if (a1.Length == 0) { a

[leetcode]242. Valid Anagram判断两个字符串是不是包含相同字符的重排列

/* 思路是判断26个字符在两个字符串中出现的次数是不是都一样,如果一样就返回true. 记住这个方法 */ if (s.length()!=t.length()) return false; int[] words = new int[26]; for (int i = 0; i < s.length(); i++) { words[s.charAt(i)-'a']++; words[t.charAt(i)-'a']--; } for (int i = 0; i < 26; i++) { i

字符串旋转词、句子逆序化、字符串移位、最小字典序字符串问题

一:旋转词 把字符串前面任意部分挪到后面叫做词的旋转,如:1234->2341->3412.... 给定两个词,判断是否互为旋转词. 规律:只要把字符串A自身拼接到A末尾,那么A的旋转词都包含在A+A中了,所以只需在A+A中找B是否存在即可. 如:1234+1234=12341234 A的旋转词有:2341.3412.4123,分别对应12341234.12341234.12341234 public boolean chkRotation(String A, int lena, String

[算法]判断两个字符串是否由相同的字符组成

如何判断两个字符串是否由相同的字符组成 题目描述: 由相同的字符组成是指组成两个字符串的字母以及各个字母的个数是一样的,只是排列顺序不同而已.例如"aaaabbc"与"abcbaaa"就由相同的字符组成的. 方法一: 排序法,将两个字符串中的字符排序,比较两个排序后的字符串是否相等.若相等则表明它们是由相同的字符组成的,否则,表明他们是由不同的字符组成的. import java.util.Arrays; public class Solution { public

【字符串】判断两个字符串是否由相同的字符组成

1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 /** 5 * 功能:判断两个字符串是否由相同的字符组成,比如aaaabbc和abcbaaa就是. 6 * 思路1:将两个字符串按字符进行排序,判断排序后字符串是否相同: 7 * 思路2:申请一个256大小的int数组,遍历第一个字符串,遇到一个字符,就将字符对应的数组下标的元素+1,然后,遍历第二个字符串,同理-1,最后,判断数组的所有元素是否都是0. 8 */ 9 publi

js判断输入字符串长度(汉字算两个字符,字母数字算一个):例如 要求输入12的字,24个字节

<html> <head> <title>js判断输入字符串长度(汉字算两个字符,字母数字算一个)</title> <style type="text/css"> .pbt { margin-bottom: 10px; } .ie6 .pbt .ftid a, .ie7 .pbt .ftid a { margin-top: 1px; } .cl:after { clear: both; content: ".&quo

判断一个字符串里是否含有某段字符?怎么截取一段字符?

写前端过程中遇到的最多的字符串操作莫过于 :判断一个字符串里是否含有某段字符 ,和 截取一段字符串. 字符串操作有很多方法,其实一般只要掌握以上两个就够用了,其他方法随他去吧,好,下面就以上两个方法讲解一下. 1.判断一个字符串是否含有某段字符,使用indexOf()方法: str.indexOf("参数1","参数2");参数1表示判断是否包含的小字符串, 参数2表示从左到有依次判断的起始位置,默认从0开始,str表示用于寻找的原字符串,ps:如果原字符串含多个判