[CrackCode] 1.3 Remove the duplicate characters in a string
2014-01-25 03:24
363 查看
Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer NOTE: One or two additional variables are fineAn extra copy of the array is not.
FOLLOW UP
Write the test cases for this method
===========
Analysis:
If constant extract space is allowed, use boolean array char_set[256] to determine if duplicated character is encountered. If so, remove this character (by concat its upper part substring and lower part substring).
If constant extract space is not allowed, use two loop to compare all the possible pairs of characters.
FOLLOW UP
Write the test cases for this method
===========
Analysis:
If constant extract space is allowed, use boolean array char_set[256] to determine if duplicated character is encountered. If so, remove this character (by concat its upper part substring and lower part substring).
If constant extract space is not allowed, use two loop to compare all the possible pairs of characters.
public class Answer { public static String solution(String str){ if( str == null||str.length()<2) return str; int pointer=0; boolean[] char_set = new boolean[256]; while(pointer<str.length()){ char value = str.charAt(pointer); if(char_set[value]==true){ str = str.substring(0, pointer) + str.substring(pointer+1); } else{ char_set[value] = true; pointer++; } } return str; } public static String solution2(String str){ if(str == null||str.length()<2) return str; for (int i=0; i<str.length()-1; i++){ int j=i+1; while (j<str.length()){ if(str.charAt(i)==str.charAt(j)){ if(j<str.length()-1) str = str.substring(0, j) + str.substring(j+1); else str = str.substring(0, j); } else{ j++; } } } return str; } public static void main(String[] args) { String s = null; String answer =solution2(s); System.out.print(answer); } }
相关文章推荐
- How do you remove the duplicate characters in a given string without using any additional buffer.
- 【3】Remove the duplicate characters in a string
- How to remove the duplicated value in a String array
- CH1-3: remove duplicate char in a string, with/without additional buffer
- Find the longest substring with k unique distinct characters in a given string (Google)
- python: remove the duplicates in a list
- //Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the in
- A string s is LUCKY if and only if the number of different characters in s is a fibonacci number. Gi
- Replace the space in the string aa with "+"
- golang make the first character in a string lowercase/uppercase
- The valid characters are defined in RFC 7230 and RFC 3986
- The valid characters are defined in RFC 7230 and RFC 3986
- Find The First Non Repeated Character In A String : Technical Interview Question
- eliminate the duplicates in the sorted list (2)
- careercup1.3: remove duplicate without extra space.
- the info.plist in the package must contain the CFBundleShortVersionString key.
- SQL Server: Text was truncated or one or more characters had no match in the target code page error
- remove the title bar of a window in Android
- Given a string containing just the characters '(', ')', '{', '}', '[' and '
- IOS简单的字串替换方法stringByTrimmingCharactersInSet