力扣中【String类】相关的习题

导读:本篇文章讲解 力扣中【String类】相关的习题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

1.字符串中的第一个唯一字符

2.字符串最后一个单词的长度

3. 验证回文串


1.字符串中的第一个唯一字符

链接   387. 字符串​​​​​​中的第一个唯一字符

力扣中【String类】相关的习题

分析一下

力扣中【String类】相关的习题

上代码

class Solution {
    public int firstUniqChar(String s) {
        int[] count =new int[26]; 
        for(int i = 0; i < s.length(); i++) {
             char ch = s.charAt(i);
             count[ch - 'a'] ++;     
        }
       for(int i = 0; i < s.length(); i++) {
           char ch = s.charAt(i);
           if(count[ch - 'a'] == 1) {
               return i;
           }
       }
       return -1;
    }
}

2.字符串最后一个单词的长度

链接  字符串最后一个单词的长度_牛客题霸_牛客网 (nowcoder.com)

力扣中【String类】相关的习题

 分析一下

力扣中【String类】相关的习题

 上代码,第一种思路

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNextLine()) {
            String str =  in.nextLine();
            int index = str.lastIndexOf(" ");
            String ret = str.substring(index+1);
            System.out.println(ret.length());
        }
    }
}

第二种思路

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
                Scanner in = new Scanner(System.in);
                String str =  in.nextLine();
                String[] strings = str.split(" ");
                System.out.println(strings[strings.length-1].length());
    }
}

力扣中【String类】相关的习题


3. 验证回文串

链接  125. 验证回文串

力扣中【String类】相关的习题

分析一下

力扣中【String类】相关的习题

 上代码

class Solution {
    
    private boolean isLegalChar(char ch) {
        //判断输入字符是否合法
        if(ch >= 'a' && ch <= 'z' || ch >= '0' && ch <= '9') {
            return true;
        }
    return false;
    }
    
    public boolean isPalindrome(String s) {
        s = s.toLowerCase();//全部转成小写
        int left = 0;
        int right = s.length() - 1;
        while(left < right) {
            //从左边找到一个有效的字符
            while(left < right && !isLegalChar(s.charAt(left)) ){
                left++;
            }

            //从右边找到一个有效的字符
            while(left < right && !isLegalChar(s.charAt(right)) ) {
                right--;
            }
            
            //left和right 下标都是有效的字符,但是相不相同,不一定的
            if(s.charAt(left) != s.charAt(right)) {
                return false;
            }else {
                left++;
                right--;
            }
        }
        return true;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/91253.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!