A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王羽轩 黑马帝   /  2011-12-9 16:34  /  2193 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

记得.net类库提供现成的反转函数reverse,如果用递归方法怎么写啊?请教了

评分

参与人数 1技术分 +2 收起 理由
陈涛 + 2

查看全部评分

3 个回复

倒序浏览
余飞 黑马帝 2011-12-13 11:04:56
沙发
    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:59
藤椅
  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.         }
复制代码
回复 使用道具 举报
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马