其他题目2
所有子串,仅出现一次的字符,求缩写
6. 求字符串的所有子串(暴力求解即可)
自己写一个substring();
import java.util.*;
public class solution{
public static String makeit(String s,int i,int j)
{
char[] c=s.toCharArray();
StringBuffer ans=new StringBuffer();
for(int k=i;k<j+1;k++)
ans.append(c[k]);
System.out.print(ans.toString());
return ans.toString();
}
public static void solution(String s)
{
for(int i=0;i<s.length();i++)
for(int j=i;j<s.length();j++)
{makeit(s,i,j);
System.out.print('\n');}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String s=sc.next();
solution(s);
}
}
- 字符串大小写转换
大写+32等于小写,小写减去32等于大写
public class midsreach {
public static void solution(String s)
{char[] a=s.toCharArray(); for(int i=0;i<s.length();i++) { if(a[i]>='a'&&a[i]<='z') { a[i]=(char) (a[i]-32); } else if(a[i]>='A'&&a[i]<='Z')a[i]=(char) (a[i]+32); } for(int i=0;i<s.length();i++) System.out.print(a[i]);
}
public static void main(String arg[])
{String s="sadAdsaAqrqr"; solution(s);
}
} - 输出字符串中仅出现一次的第一个字符
利用哈希数组或者哈希Map来判断 或者队列
public class midsreach {
public static void solution(String s)
{char[] a=s.toCharArray(); int [] num=new int[30]; for(int i=0;i<s.length();i++) { num[a[i]-'a']++; } for(int i=0;i<s.length();i++) if(num[a[i]-'a']==1) {System.out.print(a[i]);break;}
}
public static void main(String arg[])
{String s="sadasddsaweqrqr"; solution(s);
}
}
11.输出字符串简称,例如字符串是"end of file",输出"EOF"
public class midsreach {
public static void solution(String s)
{
char[] a=s.toCharArray();
for(int i=0;i<s.length();i++)
{
if(i==0||a[i-1]==' ')
System.out.print((char)(a[i]-32));
}
//for(int i=0;i<s.length();i++)
//{System.out.print(a[i]);}
}
public static void main(String arg[])
{
String s="end of life";
solution(s);
}
}