切换到宽版
  • 5742阅读
  • 3回复

兄弟们帮我看看这段代码~ [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0 发表于: 2008-02-07
function solve(dlr,ldr:string):string;
var k:integer;
    s:string;
begin
 
if (dlr<>'') and (ldr<>'') then
    begin
      k:=pos(dlr[1],ldr);
      s:=solve(copy(dlr,2,k-1),copy(ldr,1,k-1));
      s:=s+solve(copy(dlr,k+1,length(dlr)-k),copy(ldr,k+1,length(ldr)-k));
      s:=s+ldr[k];
    end;
end;


照理说变量s对于每次递归调用都相当于一个新的s吧,可是我这里s的值却带到子递归函数里去了,大家看看是咋回事?(顺便说一句,这是根据二叉树的前序及中序遍历求后序遍历的程序
离线yonghu86cs
只看该作者 1 发表于: 2008-02-20
??????
离线yonghu86cs
只看该作者 2 发表于: 2008-02-20
我们的一位大牛讲,代码没问题,只是函数有点烂......他就这么说的。
离线001
只看该作者 3 发表于: 2008-03-05
?
??
快速回复
限100 字节
 
上一个 下一个