描述:
这道题目是方型字符串的第一道题目。
给你一个n行的字符串,每个子串的长度为n,例如:s = “abcd\nefgh\nijkl\nmnop”
我们将学习如何转化这个字符串。
垂直翻转:vertMirro(s) => “dcba\nhgfe\nlkji\nponm”
水平翻转:horMirror(s) => “mnop\nijkl\nefgh\nabcd”
写出这两个方法。和一个高阶方法oper(fct, s),s为要转化的字符串,fct只会是vertMirror或horMirror。
例如:
s = “abcd\nefgh\nijkl\nmnop”
oper(vertMirror, s) => “dcba\nhgfe\nlkji\nponm”
oper(horMirror, s) => “mnop\nijkl\nefgh\nabcd”
CodeWar:
using System;
using System.Linq;
public class Opstrings
{
public static string VertMirror(string strng)
{
return string.Join("\n", strng.Split('\n').Select(i => string.Concat(i.Reverse())));
}
public static string HorMirror(string strng)
{
return string.Join("\n", strng.Split('\n').Reverse());
}
public static string Oper(Func<string,string> fct, string s)
{
return fct(s);
}
}
MSDN: