您的位置:首页 > 编程语言 > C#

C#按“单词”反转字符串

2018-01-27 17:19 537 查看
这里只给代码不给思路,这是基础的不能再基础的东西,却是最容易犯错的一个。

/// <summary>

        /// C#按单词反转字符串,不可以使用split函数

        /// </summary>

        /// <param name="str"></param>

        /// <returns></returns>

        private static string RevNoSplit(string str)

        {

            StringBuilder sb = new StringBuilder();

            int len = 0;

            for (var i = str.Length - 1; i >= 0; i--)

            {

                len++;

                if (i == 0)

                {

                    sb.Append(str[i]);

                }

                else if (str[i] == ' ')

                {

                    sb.Append(str.Substring(i + 1,len -1));

                    sb.Append(str[i]);

                    len = 0;

                }

            }

            return sb.ToString();

        }

        /// <summary>

        /// C#按单词反转字符串,不可以使用split,substring函数

        /// </summary>

        /// <param name="str"></param>

        /// <returns></returns>

        private static string RevNoSplitSubstring(string str)

        {

            StringBuilder sb = new StringBuilder();

            for (var i = str.Length - 1; i >= 0; i--)

            {

                if (i == 0)

                {

                    sb.Append(str[i]);

                }

                else if (str[i] == ' ')

                {

                    var breakpoint = str.Length - sb.Length;

                    for (var j = i; j < breakpoint - 1; j++) {

                        sb.Append(str[j + 1]);

                    }

                    sb.Append(str[i]);

                }

            }

            return sb.ToString();

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: