从零开始刷力扣——字符串基础

//获取三种正确字符串再和原字符串比对
class Solution {
    public boolean detectCapitalUse(String word) {
        String rightWord1 = word.toLowerCase();
        String rightWord2 = word.toUpperCase();
        String rightWord3 = rightWord2.charAt(0) + rightWord1.substring(1);
        return word.equals(rightWord1) || word.equals(rightWord2) || word.equals(rightWord3);
    }
}

//获取目标字符串和逆序字符串后进行比对
class Solution {
    public boolean isPalindrome(String s) {
        String left = s.toLowerCase().replaceAll("[^0-9a-zA-Z]", "");
        String right = new StringBuilder(left).reverse().toString();
        return left.equals(right);
    }
}

//对字符串进行排序,找第一段和最后一段字符串的公共前缀
class Solution {
    public String longestCommonPrefix(String[] strs) {
        int len = strs.length;
        for (int i = 0; i < len; i++) {
            for (int j = i + 1; j < len; j++) {
                if (strs[i].compareTo(strs[j]) < 0) {
                    String temp = strs[i];
                    strs[i] = strs[j];
                    strs[j] = temp;
                }
            }
        }
        int r = 0;
        for (; r < Math.min(strs[0].length(), strs[len - 1].length()); r++) {
            if (strs[0].charAt(r) != strs[len - 1].charAt(r)) break;
        }
        if (r == 0) return "";
        else return strs[0].substring(0, r);
    }
}

//用split方法字符串,去除空串
class Solution {
    public int countSegments(String s) {
        int num = 0;
        String[] strings = s.split(" ");
        for (String string : strings) {
            if (!string.equals("")) num++;
        }
        return num;
    }
}

//从字符串末端开始遍历,若是空格判断最后一个单词是否已经遍历过,是则返回
class Solution {
    public int lengthOfLastWord(String s) {
        int num = 0;
        for (int i = s.length() - 1; i >= 0; i--) {
            if (s.charAt(i) == ' ') {
                if (num != 0) return num;
            } else num++;
        }
        return num;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值