两个经典面试算法题

[TOC]

两个经典面试算法题

一、如何判断一个字符串中某个字符出现的次数?

package com.neusoft;
​
public class FindCharacter {
​
    /**
     * for循环
     *
     * @param str
     * @param searchChar
     * @return
     */
    public static int countChar(String str, char searchChar) {
        int count = 0;
        char[] charArray = str.toCharArray();
        for (char item : charArray) {
            if (item == searchChar) {
                count++;
            }
        }
​
        System.out.println("字符" + searchChar + "出现的次数为:" + count);
​
        return count;
    }
​
    /**
     * 字符串替换
     *
     * @param str
     * @param searchChar
     * @return
     */
    public static int countCharNoFor(String str, String searchChar) {
        int count = 0;
        int origialLength = str.length();
        /**
         * replace(char,char)
         * replace(string,string)
         */
        str = str.replace(searchChar, "");
        int newLength = str.length();
​
        count = origialLength - newLength;
​
        System.out.println("字符" + searchChar + "出现的次数为:" + count);
​
        return count;
    }
​
    public static void main(String[] args) {
        String str = "ABC123ABC";
        String searchChar = "B";
        countCharNoFor(str, searchChar);
    }
}
​

二、字符串反转

package com.neusoft;
​
public class StringRever {
    public static void reverStr(String str) {
​
        StringBuilder stringBuilder = new StringBuilder(str);
        stringBuilder.reverse();
​
        String newStr = stringBuilder.toString();
​
        System.out.println("反转前:" + str);
        System.out.println("反转后:" + newStr);
    }
​
    public static void reverStrByStack(String str) {
​
        StringBuilder stringBuilder = new StringBuilder(str);
        stringBuilder.reverse();
​
        String newStr = stringBuilder.toString();
​
        System.out.println("反转前:" + str);
        System.out.println("反转后:" + newStr);
    }
​
    /**
     * 还有一种思路:字符串转数组,高索引至低索引遍历输出,使用for循环
     * @param args
     */
    public static void main(String[] args) {
        reverStr("1231212123123");
    }
}
​
发布了169 篇原创文章 · 获赞 18 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/yunfengfengfeng/article/details/105678810
今日推荐