問題の分析
与えられた文字列の後ろに文字列を追加して回文を作ります。
作成できる最短の回文の長さを求めなさい。
方針a
回文となっているかどうかを調べる範囲を正しくコーディングするのに手間取りました。
ソースコード
using System; using System.Collections.Generic; using System.Text; public class ThePalindrome { public int find(string s) { int n = s.Length; for (int j = 0; ; j++) { bool good = true; string substr = s.Substring(j, n - j); int m = substr.Length; for (int i = 0; i < substr.Length / 2; i++) { if (!s.Substring(i, 1).Equals(s.Substring(m - 1 - i, 1))) { good = false; break; } } if (good) return n + j; } } }