diff --git a/1-Array-And-String/CheckPermutation.cpp b/1-Array-And-String/CheckPermutation.cpp index 86f9cb1..99ee062 100644 --- a/1-Array-And-String/CheckPermutation.cpp +++ b/1-Array-And-String/CheckPermutation.cpp @@ -18,18 +18,14 @@ bool checkPermutation( string string1, string string2 ) { if( string1.length() != string2.length() ) { return false; } - int charMap[128] = {0}; - for( int i=0; i < string1.length(); i++ ) { - charMap[ string1[ i ] ]++; + int xorValue=0; + for(char ch : string1){ + xorValue^=ch; } - - for( int i=0; i < string2.length(); i++ ) { - if( charMap[ string2[ i ] ] == 0 ) { - return false; - } - charMap[ string2[ i ] ]--; + for(char ch : string2){ + xorValue^=ch; } - return true; + return xorValue==0; } bool checkPermutationUsingSorting( string input1, string input2 ) { diff --git a/1-Array-And-String/IsUnique.cpp b/1-Array-And-String/IsUnique.cpp index fb29b6a..10c7cc2 100644 --- a/1-Array-And-String/IsUnique.cpp +++ b/1-Array-And-String/IsUnique.cpp @@ -20,12 +20,11 @@ bool isDupUsingHashTable( string input ) { return true; } - bool map[ 128 ] = { false }; - for( int i=0; i < input.length(); i++ ) { - if( map[ input[ i ] ] == true ) - return true; - else - map[ input[ i ] ]= true; + for(int i=0;i