Java教程

关于字符串的算法题(一)

本文主要是介绍关于字符串的算法题(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

String 方法:

1、char charAt(int index) 

charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1

 

2、boolean equals(Object anObject)

String 类中重写了 equals() 方法用于比较两个字符串的内容是否相等

 

3、int indexOf(String str)

 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

 

4、int lastIndexOf(String str):

返回指定子字符串在此字符串中最右边出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

 

5、int length()

返回字符串长度

6、String replace(char searchChar, char newChar)

通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串。

 

7、String[] split(String regex)

根据匹配给定的正则表达式来拆分字符串。

注:. 、 $、 | 和 * 等转义字符,必须得加 \\

 

8、boolean startsWith(String prefix)

检测字符串是否以指定的前缀开始

 

9、String substring(int beginIndex)

返回字符串的子字符串,beginIndex -- 起始索引, 索引从 0 开始

 

10、char[] toCharArray()

将字符串转换为字符数组

 

11、boolean contains(String str)

判断字符串中是否包含指定的字符或字符串

 

12、boolean isEmpty()

用于判断字符串是否为空

 

相关算法题:

1、shift挪动

一次shift操作就是把一个单词的第一个挪到最后,单词有n位就最多挪n次,问可以和原单词相同几次。
如输入:byebye 输出:2
输入:abcd 输出:1

 

public class Test3 extends Thread implements Runnable {

    public static void main(String args[]) {
        int count = shiftCount("byebye");
        System.out.println(count);
    }

    public static int shiftCount(String str) {
        int aLength = str.length();
        if (aLength == 0) {
            return 0;
        }
        int count = 0;
        String cur = "";
        for (int i = 1; i <= aLength; i++) {
            cur = str.substring(i) + str.substring(0,i);
            if (cur.equals(str)) {
                count++;
            }
            System.out.println(cur);
        }
        return count;
    }
}

解析:

  1、判断字符串为空的情况

  2、创建一个字符串用于比对

  3、使用substring方法截取字符串,判断字符串相同

 

这篇关于关于字符串的算法题(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!