黑马程序员技术交流社区

标题: 字符串反转的方法 [打印本页]

作者: 王羽轩    时间: 2011-12-9 16:34
标题: 字符串反转的方法
记得.net类库提供现成的反转函数reverse,如果用递归方法怎么写啊?请教了
作者: 余飞    时间: 2011-12-13 11:04
    class Program
    {
        static void Main(string[] args)
        {
            string str = "hello world";
            char[] strArr = str.ToCharArray();
            Change(strArr, 0, strArr.Length-1);

            Console.WriteLine(str.Reverse().ToArray());
            Console.ReadKey();
        }

        public static void Change(char[] strArr, int start, int end)
        {
            char temp = strArr[start];
            strArr[start] = strArr[end];
            strArr[end] = temp;
            if (++start >= --end)
            {
                Console.WriteLine(strArr);
            }
            else
            {
                Change(strArr, start, end);
            }
        }
    }
作者: 乔克    时间: 2011-12-13 14:20
  1.         static void Main(string[] args)
  2.         {
  3.             Console.WriteLine(Reverse("HEIMA"));
  4.             Console.ReadKey();
  5.         }
  6.         static string Reverse(string s)
  7.         {
  8.             if (s.Length == 1)
  9.                 return s;
  10.             else
  11.                 return s.Substring(s.Length - 1, 1) + Reverse(s.Substring(0, s.Length - 1));
  12.         }
复制代码

作者: 张大福    时间: 2011-12-13 21:27
我现在想到有两种方法:
第一种方法:1.将字符串转换成字符数组,2.将字符数组反序,3.将字符数组转换成字符串
第二种方法:1.将字符串分解成子字符串加上一个字符,比如"abc"="ab"+"c",2.将子字符串和字符交换过来,即"c"+"ab"。这种方法适合用递归




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2