作者:学Java的冬瓜
博客主页:☀冬瓜的主页🌙
专栏:【Java刷题】
题1:字符串中的第一个唯一字符
链接:
LeetCode387.字符串中的第一个唯一字符
class Solution {
public int firstUniqChar(String s) {
char[] count = new char[26];
int i=0;
for(i=0;i<s.length();i++){
char ch = s.charAt(i);
count[ch-'a']+=1;
}
for(i=0;i<s.length();i++){
char ch = s.charAt(i);
if(count[ch-'a']==1)
{
return i;
}
}
return -1;
}
}
题2:字符串最后一个单词的长度
链接:
牛客HJ1.字符串最后一个单词的长度
法一
import java.io.InputStream;
import java.util.*;
public class Main{
public static void main(String [] args) throws Exception{
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
int flag=0;
int end=input.length()-1;
for(int i=end;i>=0;i--){
char ch=input.charAt(i);
if(ch==' '){
flag=1;
System.out.println(end-i);
break;
}
}
if(flag==0){
System.out.println(input.length());
}
}
}
法二
import java.io.InputStream;
import java.util.*;
public class Main{
public static void main(String [] args) throws Exception{
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
int pos = 0;
pos = input.lastIndexOf(' ');
System.out.println(input.length()-1-pos);
}
}
题3:验证回文串
链接:
LeetCode125.验证回文串
法一
class Solution {
public boolean isPalindrome(String s) {
s = s.toLowerCase();
StringBuilder sb1 = new StringBuilder();
for(int i=0;i<s.length();i++){
char ch = s.charAt(i);
if(ch>='a'&&ch<='z' || ch>='A'&&ch<='Z' || ch>='0'&&ch<='9')
sb1.append(ch);
}
String strsb1 = sb1.toString();
int left = 0;
int right = strsb1.length()-1;
while(left<=right){
char leftstr = strsb1.charAt(left);
char rightstr = strsb1.charAt(right);
if(leftstr!=rightstr){
return false;
}
left++;
right--;
}
return true;
}
}
法二
class Solution {
public boolean isPalindrome(String s) {
s = s.toLowerCase();
StringBuilder sb1 = new StringBuilder();
for(int i=0;i<s.length();i++){
char ch = s.charAt(i);
if(ch>='a'&&ch<='z' || ch>='A'&&ch<='Z' || ch>='0'&&ch<='9')
sb1.append(ch);
}
String strsb1 = sb1.toString();
StringBuilder rsb1 = sb1.reverse();
String strrsb1 = rsb1.toString();
if(strsb1.equals(strrsb1)){
return true;
}else{
return false;
}
}
}
题4:字符串中的单词数
链接:
LeetCode434.字符串中的单词数
class Solution {
public int countSegments(String s) {
s=s.trim();
String[] strings = s.split(" ");
int count=0;
for(int i=0;i<strings.length;i++){
if(strings[i].length()!=0){
count++;
}
}
return count;
}
}