Java机试面试题集锦

1、在字符串中查找子字符串第一次出现的位置,类似String.indexOf方法

实现方案如下

class Solution {

    /**
     * 查找子字符串下标
     *
     * @param str
     * @param subStr
     * @return
     */
    public static int findIdx(String str, String subStr) {
        if (subStr.isEmpty()) {
            return 0; // 如果子字符串为空,则认为它在任何位置都存在
        }

        int strLength = str.length();
        int subStrLength = subStr.length();

        for (int i = 0; i <= strLength - subStrLength; i++) {
            int j;
            for (j = 0; j < subStrLength; j++) {
                if (str.charAt(i + j) != subStr.charAt(j)) {
                    break;
                }
            }
            if (j == subStrLength) {
                return i; // 找到匹配,返回下标
            }
        }

        return -1; // 未找到匹配,返回-1
    }

    public static void main(String[] args) {
        System.out.println(findIdx("wcdaasz", "da"));
    }
}
posted @ 2024-12-20 11:33  随缘的一个人  阅读(17)  评论(0)    收藏  举报