public class Solution
    {
        public string[] FindWords(string[] words)
        {
            var list1 = new List<char>();
            var list2 = new List<char>();
            var list3 = new List<char>();

            list1.Add('Q');
            list1.Add('W');
            list1.Add('E');
            list1.Add('R');
            list1.Add('T');
            list1.Add('Y');
            list1.Add('U');
            list1.Add('I');
            list1.Add('O');
            list1.Add('P');
            list1.Add('q');
            list1.Add('w');
            list1.Add('e');
            list1.Add('r');
            list1.Add('t');
            list1.Add('y');
            list1.Add('u');
            list1.Add('i');
            list1.Add('o');
            list1.Add('p');

            list2.Add('A');
            list2.Add('S');
            list2.Add('D');
            list2.Add('F');
            list2.Add('G');
            list2.Add('H');
            list2.Add('J');
            list2.Add('K');
            list2.Add('L');
            list2.Add('a');
            list2.Add('s');
            list2.Add('d');
            list2.Add('f');
            list2.Add('g');
            list2.Add('h');
            list2.Add('j');
            list2.Add('k');
            list2.Add('l');

            list3.Add('Z');
            list3.Add('X');
            list3.Add('C');
            list3.Add('V');
            list3.Add('B');
            list3.Add('N');
            list3.Add('M');
            list3.Add('z');
            list3.Add('x');
            list3.Add('c');
            list3.Add('v');
            list3.Add('b');
            list3.Add('n');
            list3.Add('m');

            var List = new List<string>();

            foreach (string str in words)
            {
                var type1 = 0;
                var type2 = 0;
                var type3 = 0;

                var len = str.Length;

                foreach (char c in str)
                {
                    if (list1.Any(x => x == c))
                    {
                        type1++;
                    }
                    else if (list2.Any(x => x == c))
                    {
                        type2++;
                    }
                    else if (list3.Any(x => x == c))
                    {
                        type3++;
                    }
                    else
                    {
                        break;
                    }
                }

                if (type1 == len || type2 == len || type3 == len)
                {
                    List.Add(str);
                }

            }
            return List.ToArray();
        }
    }

https://leetcode.com/problems/keyboard-row/#/description

posted on 2017-04-19 10:50  Sempron2800+  阅读(191)  评论(0编辑  收藏  举报