public class firstNonRepeatedCharInString {
public static void main(String abc[]){
firstNonRepeatedCharInString f = new firstNonRepeatedCharInString();
String checkString="bbzbccdede";
String checkString1="bzzzzzzccde";
String checkString2="abcdef";
String checkString3="aabc";
String checkString4="zzzzzzcc";
int index=f.getIndexOfFirstNonRepeatingChar(checkString);
if(index!=-1)
System.out.println("the first non repeating character in " +checkString
+" is at "+checkString.charAt(index));
else
System.out.println("there is no repeating character in " +checkString
);
index=f.getIndexOfFirstNonRepeatingChar(checkString1);
if(index!=-1){
System.out.println("the first non repeating character in "
+checkString1 +" is at "+checkString1.charAt(index));
}else
System.out.println("there is no repeating character in "
+checkString1 );
index=f.getIndexOfFirstNonRepeatingChar(checkString2);
if(index!=-1)
System.out.println("the first non repeating character in " +checkString2
+" is at "+checkString2.charAt(index));
else
System.out.println("there is no repeating character in " +checkString2
);
index=f.getIndexOfFirstNonRepeatingChar(checkString3);
if(index!=-1)
System.out.println("the first non repeating character in " +checkString3
+" is at "+checkString3.charAt(index));
else
System.out.println("there is no repeating character in " +checkString3 );
index=f.getIndexOfFirstNonRepeatingChar(checkString4);
if(index!=-1)
System.out.println("the first non repeating character in " +checkString4
+" is at "+checkString4.charAt(index));
else
System.out.println("there is no repeating character in " +checkString4
);
}
public int getIndexOfFirstNonRepeatingChar(String checkString){
char [] toCharArray = checkString.toCharArray();
if(toCharArray.length==1)
return 0;
else if(toCharArray.length==2) {
if(toCharArray[0]==toCharArray[1]) return -1;
}else if(toCharArray.length==3){
if (((checkString.charAt(0))!=(checkString.charAt(1))) &&
(checkString.charAt(1) != checkString.charAt(2))){
return 0;
}else if((checkString.charAt(0)==checkString.charAt(1)) &&
(checkString.charAt(1)!=checkString.charAt(2))){
return 2;
}else if( (checkString.charAt(0)!=checkString.charAt(1)) &&
(checkString.charAt(1)==checkString.charAt(2)))
return 0;
}
else{
for(int i=0;i<toCharArray.length-2;i++){
if (((checkString.charAt(i))!=(checkString.charAt(i+1))) &&
(checkString.charAt(i+1) != checkString.charAt(i+2))){
return i;
}else if( (checkString.charAt(i) != checkString.charAt(i+1)) &&
(checkString.charAt(i+1)==checkString.charAt(i+2))){
if(i-1<0){
return i;
}else{
if( (checkString.charAt(i-1)==(checkString.charAt(i))) &&
(checkString.charAt(i+1)==checkString.charAt(i+2)))
continue;
else
return i;}
}else if( (checkString.charAt(i)== checkString.charAt(i+1)) &&
(checkString.charAt(i+1)!=checkString.charAt(i+2))){
if( (i+3)<=checkString.length() ){
if(checkString.charAt(i+2)!=checkString.charAt(i+3)){
return i+2;
}else{
continue;
}
}else {return i+2;}}
}
}
return -1;
}
}
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/algogeeks/-/AgtYjYsCg1UJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.