Pascal:用递归反转字符串
Pascal : inverting a string with recursion
我正在尝试学习 Pascal 中的递归,我有这段代码可以用递归反转字符串:
Function Invert (ch:string) : string;
begin
if ch='' then
Invert:=''
else
Invert:=copy(ch,length(ch),1)+Invert(copy(ch,1,length(ch)-1));
end;
任何人都可以逐步向我解释这里发生了什么。
谢谢。
如果字符串为空,则其反转就是空字符串;否则,反转是最后一个字符后跟(字符串减去它的最后一个字符)的反转。
幸运的是,您有一个可以反转字符串的函数:Invert
。
我正在尝试学习 Pascal 中的递归,我有这段代码可以用递归反转字符串:
Function Invert (ch:string) : string;
begin
if ch='' then
Invert:=''
else
Invert:=copy(ch,length(ch),1)+Invert(copy(ch,1,length(ch)-1));
end;
任何人都可以逐步向我解释这里发生了什么。 谢谢。
如果字符串为空,则其反转就是空字符串;否则,反转是最后一个字符后跟(字符串减去它的最后一个字符)的反转。
幸运的是,您有一个可以反转字符串的函数:Invert
。