怎么做字符串的反转啊?要求最优算法,例如:
abcd -> dcba

解决方案 »

  1.   

    我有一个,可以参考,不知道是不是最优:
    function reverse(ch:string):string;
    var
      iLen, i: integer;
      s:string;
      c:char;
    begin
      s := ch;
      iLen := Length(s);
      for i:=1 to (iLen div 2) do
      begin
        c := s[i];
        s[i] := s[iLen - i + 1];
        s[iLen - i + 1] := c;
      end;
      Result := s;
    end;
      

  2.   

    你可以看看:
    function reverse(ch:string):string;
    var
      iLen, i: integer;
      s:string;
      c:char;
    begin
      s := ch;
      iLen := Length(s);
      for i:=1 to (iLen div 2) do
      begin
        c := s[i];
        s[i] := s[iLen - i + 1];
        s[iLen - i + 1] := c;
      end;
      Result := s;
    end;