判断字符串里字符是否有相同

public class stringdifferent {
public static Boolean checkdifferent(String str)
{

char[] strs=iniString.toCharArray();//toCharArray()是字符串转字符数组函数


for (int i = 0; i < strs.length; i++) 
{
for (int j =i+1; j < strs.length; j++) 
{
if(strs[i]==strs[j])
return false;

}
}
return true;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
String a=scanner.next();
System.out.println(checkdifferent(a));



}


}

新增一种思路,遍历这个字符串,字符出现一次置为1,如果再出现一个值为1的话,说明出现了两次,用c++编写如下,如果要求不能使用其他的存储结构,就选用java代码

#include"iostream"
using namespace std;
bool checkdifferent(string str)
{
    int a[256]={0};
    if(str.size()>256)
        return false;
    else{
    for(int i=0;i<str.size();i++)
    {
        a[str[i]]++;
        if(a[str[i]]==2) return false;
    }
    }
    return true;
}


int main()
{
    string a;
    cin>>a;
    if(checkdifferent(a)==true){
        cout<<1<<endl;
    }else{


        cout<<0<<endl;
    }


    return 0;


}



猜你喜欢

转载自blog.csdn.net/qq_34691713/article/details/80198690