Advertisement
Guest User

Untitled

a guest
Jun 28th, 2016
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
D 0.69 KB | None | 0 0
  1. import std.stdio;
  2. import std.algorithm.iteration: filter, each;
  3. import std.conv: to, text;
  4. import std.uni: isSpace, asLowerCase;
  5. import std.functional: not;
  6. import std.algorithm.mutation: reverse;
  7. import std.algorithm.comparison: equal;
  8.  
  9. pure bool isPalindrome(string str) {
  10.  
  11.     char[] straight = str.filter!(not!isSpace).asLowerCase.text.dup;
  12.  
  13.     char[] reversed = straight.dup;
  14.     reverse(reversed);
  15.  
  16.     return equal(straight, reversed);
  17. }
  18.  
  19. void main()
  20. {
  21.     string[] palindromes = [
  22.         "А роза упала на лапу Азора",
  23.         "Аргентина манит негра",
  24.         "Я иду с мечем судия"];
  25.  
  26.     palindromes.each!(x => writefln("%s: %s", x, x.isPalindrome));
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement