(C#) 反轉字符串,反轉一個句子中單詞。


這個是非常基本的一道面試題,但是要考慮周全。

首先反轉一個字符串:

基本思路是變成Char數組,然后調用C#里面的方法,或者設定兩個index,從頭,尾向中間遍歷,並交換。

方法一: Array.Reverse(char *). 注意在開始的時候要判斷字符串為null或空。

        public static string ReverseString(string input)
        {
            if (String.IsNullOrEmpty(input))
            {
                return input; 
            }

            char[] charArray = input.ToCharArray();
            Array.Reverse(charArray);
            return new String(charArray); 
        }

方法二: 交換字符。

        public static string ReverseString1(string input)
        {
            if(String.IsNullOrEmpty(input))
            {
                return input; 
            }

            char[] charArray = input.ToCharArray();
            char tmp;  
            for(int i = 0, j = charArray.Length - 1; i < j;  i++, j--)
            {
                tmp = charArray[i];
                charArray[i] = charArray[j];
                charArray[j] = tmp; 
            }

            return new string(charArray); 
        }

 

反轉句子當中的單詞:

        public static string ReverseWords(string input)
        {
            if (String.IsNullOrEmpty(input))
            {
                return input; 
            }

            string[] splits = input.Split(' ').Select(str=> str.Trim()).ToArray();
            StringBuilder output = new StringBuilder(); 
            for(int i = splits.Length - 1; i >= 0 ; i--)
            {
                output.Append(splits[i]); 
                if(i != 0)
                {
                    output.Append(" "); 
                }
            }

            return output.ToString(); 
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM