字符串&字符

56 阅读1分钟
private static void m1() {
    String a = "fdfn";
    char[] chars = a.toCharArray();
    for(char c: chars){
        System.out.print(c);//字符
        System.out.print(" ");
        System.out.println((int)c);//ASCII码十进制数值
    }

    for(char c: chars){
        int c1 = c - 32;
        System.out.print((char)c1);//转大写
        System.out.print(" ");
        System.out.println(c1);//ASCII码十进制数值
    }
}
String a = "fdfn";
char c = a.charAt(1);//字符
int c1 = a.charAt(1);//ASCII码十进制数值

实现 strStr() 函数。

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

示例

输入: haystack = "hello", needle = "ll"
输出: 2

输入: haystack = "aaaaa", needle = "bba"
输出: -1
private static int m1() {
    String haystack = "fdfjefhhheelu";
    String needle = "helu";
    if(needle.length() > haystack.length()){
        return -1;
    }
    if(haystack.length() <=0 || needle.length() <=0){
        return -1;
    }
    char[] chars = haystack.toCharArray();
    int start = 0;
    int index = 0;
    for (int i = 0; i < chars.length; i++) {
        if(index >= needle.length()){
            return -1;
        }
        if(chars[i] == needle.toCharArray()[index]){
            start = i;
            index++;
        }else if(index >0 && chars[i] == needle.toCharArray()[0]){
            index = 1;
            start = i;
        }else {
            index = 0;
        }
        if(index == needle.length()){
            return start - needle.length() + 1;
        }
    }
    return -1;
}