题解 | #字符串排序#

字符串排序

http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

先将所有的字母提取出来放进一个list里 然后对list进行排序,这里使用linq无视大小写 然后对chars进行遍历,是字母的依次替换为list中的元素,不是字母的正常拼接

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleAppTest
{
    public static class Test
    {
        public static void Main()
        {
            string input = Console.ReadLine();
            char[] chars = input.ToCharArray();
            List<char> list = new List<char>();
            foreach (char c in chars)
            {
                if (char.IsLetter(c))
                {
                    list.Add(c);
                }
            }
            list = list.OrderBy(x => char.ToLower(x)).ToList();

            StringBuilder sb = new StringBuilder();
            int index = 0;
            for (int i = 0; i < chars.Length; i++)
            {
                if (char.IsLetter(chars[i]))
                {
                    sb.Append(list[index++]);
                }
                else
                {
                    sb.Append(chars[i]);
                }
            }
            Console.WriteLine(sb.ToString());
        }
    }
}
全部评论

相关推荐

害怕一个人的小黄鸭胖乎乎:笑死了,没有技术大牛,招一堆应届生,不到半年,代码就成屎山了
点赞 评论 收藏
分享
头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务