成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁Java基于String類的題

Java基于String類的題

來源:九壹網(wǎng)

題目:字符串中的第一個唯一字符

鏈接:

給定一個字符串?s?,找到?它的第一個不重復(fù)的字符,并返回它的索引?。如果不存在,則返回?-1?。

示例 1:

輸入: s = "leetcode"
輸出: 0

示例 2:

輸入: s = "loveleetcode"
輸出: 2

示例 3:

輸入: s = "aabb"
輸出: -1

提示:

  • 1 <= s.length <= 105
  • s?只包含小寫字母

思路:

1.先遍歷原來的字符串;

2.把對應(yīng)字符放到對應(yīng)的計數(shù)數(shù)組下然后++;

3.再遍歷一遍原來的字符串,然后看每個字符此時在計數(shù)器上出現(xiàn)的次數(shù),出現(xiàn)一次的返回。

解答:

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;
    }
}

題目:HJ1?字符串最后一個單詞的長度

描述

計算字符串最后一個單詞的長度,單詞以空格隔開,字符串長度小于5000。(注:字符串末尾不以空格為結(jié)尾)

輸入描述:

輸入一行,代表要計算的字符串,非空,長度小于5000。

輸出描述:

輸出一個整數(shù),表示輸入字符串最后一個單詞的長度。

示例1

輸入:

hello nowcoder

輸出:

8

說明:

最后一個單詞為nowcoder,長度為8 

思路:

1.輸入一串字符;

2.找出從后往前第一個的空格處;

3.截取空格處+1的字符串。并求其長度。

鏈接:

解答:

import java.util.Scanner;

// 注意類名必須為 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的區(qū)別
        while (in.hasNextInt()) { // 注意 while 處理多個 case
            String s=in.nextLine();
            int k = s.lastIndexOf(' ');
            String ret = s.substring(k+1);
            System.out.println(ret.length());
        }
    }
}

?題目:驗證回文串

如果在將所有大寫字符轉(zhuǎn)換為小寫字符、并移除所有非字母數(shù)字字符之后,短語正著讀和反著讀都一樣。則可以認(rèn)為該短語是一個?回文串?。

字母和數(shù)字都屬于字母數(shù)字字符。

給你一個字符串?s,如果它是?回文串?,返回?true?;否則,返回?false?

示例 1:

輸入: s = "A man, a plan, a canal: Panama"
輸出:true
解釋:"amanaplanacanalpanama" 是回文串。

示例 2:

輸入:s = "race a car"
輸出:false
解釋:"raceacar" 不是回文串。

示例 3:

輸入:s = " "
輸出:true
解釋:在移除非字母數(shù)字字符之后,s 是一個空字符串 "" 。
由于空字符串正著反著讀都一樣,所以是回文串。

提示:

  • 1 <= s.length <= 2 * 105
  • s?僅由可打印的 ASCII 字符組成

思路:

1.先把字符串轉(zhuǎn)換成小寫

2.規(guī)定字符串的標(biāo)準(zhǔn),定義左右變量

3.兩個利用循環(huán),先遍歷找出范圍,左邊不能大于右邊,然后再循環(huán)把不符合標(biāo)準(zhǔn)的跳過

4.最后比較,如果不相等直接返回false,相等的繼續(xù)遍歷下一個,直到遍歷完成之后,都相等則返回true.

鏈接:

解答:

class Solution {
    private boolean islegal(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&&!islegal(s.charAt(left))){
                left++;
            }
            while(left<right&&!islegal(s.charAt(right))){
                right--;
            }
            if(s.charAt(left)!=s.charAt(right)){
                return false;
            }else{
                left++;
                right--;
            }
        }
        return true;
    }
}

因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)