557. Reverse Words in a String III

557. Reverse Words in a String III

一、題目

Given a string s, reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

 

Example 1:

Input: s = "Let's take LeetCode contest" Output: "s'teL ekat edoCteeL tsetnoc"

Example 2:

Input: s = "God Ding" Output: "doG gniD"

 

Constraints:

  • 1 <= s.length <= 5 * 104
  • s contains printable ASCII characters.
  • s does not contain any leading or trailing spaces.
  • There is at least one word in s.
  • All the words in s are separated by a single space.

 

二、程式作法

public class Solution
{
    public string ReverseWords(string s)
    {
        string[] phrases = s.Split(' ');

        for (int i = 0; i < phrases.Length; i++)
        {
            char[] temp = phrases[i].ToCharArray();
            System.Array.Reverse(temp);
            phrases[i] = new string(temp);
        }

        return string.Join(" ", phrases);
    }
}

 

三、思路筆記

目的為針對字串裡的片語做字串反轉。

可以先將片語從字串分離出來後,個別反轉後,再接回去。