diff --git a/String Algorithms/Anagram/Anagram.cpp b/String Algorithms/Anagram/Anagram.cpp new file mode 100644 index 0000000..94f500f --- /dev/null +++ b/String Algorithms/Anagram/Anagram.cpp @@ -0,0 +1,29 @@ +#include +#include + +using namespace std; + +bool Anagram (string str1, string str2){ + int n1 = str1.length(); + int n2 = str2.length(); + + if (n1 != n2) return false; + + sort(str1.begin(), str1.end()); + sort(str2.begin(), str2.end()); + + for (int i = 0; i < n1; i++) + if (str1[i] != str2[i]) + return false; + return true; +} + +int main() { + string str1 = "listen"; + string str2 = "silent"; + + // Note that each letter need to be in same case. Otherwise, use toUpper Function before adding to function. + + cout << (Anagram(str1, str2) ? "Anagram" : "Not Anagram"); + +} \ No newline at end of file diff --git a/String Algorithms/Palindrome/Palindrome.cpp b/String Algorithms/Palindrome/Palindrome.cpp new file mode 100644 index 0000000..b0ba2b7 --- /dev/null +++ b/String Algorithms/Palindrome/Palindrome.cpp @@ -0,0 +1,19 @@ +#include +#include + +using namespace std; + +string Palindrome(string S) { + string P = S; + reverse(P.begin(), P.end()); + + // Return True if Palindrome + return S == P ? "Palindrome" : "Not Palindrome"; +} + +// Driver Code +int main() { + string S = "RACECAR"; + cout << Palindrome(S); + return 0; +} diff --git a/String Algorithms/Palindrome/Palindrome.py b/String Algorithms/Palindrome/Palindrome.py new file mode 100644 index 0000000..36c8a07 --- /dev/null +++ b/String Algorithms/Palindrome/Palindrome.py @@ -0,0 +1,13 @@ +def palindrome(str1): + str2 = str1[::-1] + + if str1 == str2: + return True + +# Driver code +str1 = "racecar" + +if palindrome(str1): + print("Palindrome") +else: + print("Not Palindrome")