- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
unit uIsPalindrome;
interface
function IsPalindrome(const aString: string): Boolean;
implementation
uses
Spring.Collections
, {$IF CompilerVersion >= 230}System.{$IFEND}SysUtils
;
function CleanString(const aString: string): string;
var
C: char;
begin
// Remove all non-alpha chars and make all lower case
// Spaces don't matter, so let's count only letters
Result := '';
for C in LowerCase(aString) do
begin
if CharInSet(C, ['a'..'z', 'A'..'Z']) then
begin
Result := Result + C;
end;
end;
end;
function IsPalindrome(const aString: string): Boolean;
var
Stack: IStack<Char>;
C: Char;
NoSpaces: string;
Temp: string;
begin
NoSpaces := CleanString(aString);
Stack := TCollections.CreateStack<Char>;
for C in NoSpaces do
begin
Stack.Push(C);
end;
Temp := '';
repeat
Temp := Temp + Stack.Pop;
until Stack.Count = 0;
Result := Temp = NoSpaces;
end;
end.
TarasB 10.10.2011 12:15 # 0
d_dev 10.10.2011 12:23 # 0
TarasB 10.10.2011 12:27 # 0
Интересно, когда же в Дельфи добавят механизм автодеструкторов более вменяемый, чем тормозные интерфейсы?
RS-232 10.10.2011 12:31 # −1
Не расстраивайтесь так. Майкрософт, наперекор стандарту С++, в новый 2011 компилятор добавила тормозные интерфейсы (:
carsten 12.10.2011 08:56 # −3
Дельфи: 0
ЦПП: 1
Y_F 09.01.2012 11:42 # 0
Проблема интерфейсов не в тормознутости, а в том, что базовый интерфейс не пуст
roman-kashitsyn 10.10.2011 12:27 # 0
не?
d_dev 10.10.2011 12:50 # 0
"А роза упала на лапу Азора". не прокатит
roman-kashitsyn 10.10.2011 13:02 # 0
roman-kashitsyn 10.10.2011 12:46 # 0
Lure Of Chaos 10.10.2011 13:18 # +5
roman-kashitsyn 10.10.2011 13:18 # 0
roman-kashitsyn 10.10.2011 13:34 # +3
d_dev 10.10.2011 13:32 # +1
roman-kashitsyn 10.10.2011 13:52 # 0
gegMOPO4 10.10.2011 14:03 # +3
...
> interface
...
> implementation
...
> end.
На каждый чих создавать модуль?
Lure Of Chaos 10.10.2011 14:12 # 0
d_dev 10.10.2011 14:13 # +1
3.14159265 10.10.2011 14:20 # 0
для тех кто не может в палиндромы.
Если в делфи портировали не только спринг и Apache Commons, то....
Lure Of Chaos 10.10.2011 14:30 # +1
roman-kashitsyn 10.10.2011 15:11 # 0
roman-kashitsyn 10.10.2011 14:26 # 0
gegMOPO4 10.10.2011 21:01 # 0
d_dev 10.10.2011 13:26 # 0
var s: string;
begin
s := UpperCase(ReplaceText(A, ' ', ''));
Result := s = ReverseString(s);
end;
roman-kashitsyn 10.10.2011 13:28 # 0
p.s. "А роза\t упала на\n лапу Азора"
d_dev 10.10.2011 13:40 # 0
gegMOPO4 10.10.2011 13:50 # 0
3.14159265 10.10.2011 14:08 # 0
интересно что это такое? и откуда оно в делфях взялось?
Lure Of Chaos 10.10.2011 14:12 # 0
d_dev 10.10.2011 14:17 # 0
gegMOPO4 10.10.2011 21:02 # +3