読者です 読者をやめる 読者になる 読者になる

日々精進

新しく学んだことを書き留めていきます

SRM428 Div2 Easy 解法2

IT TopCoder

方針
元の文字列と、文字列を反転させたものを重ね合わせ、1文字ずつずらしていき一致したところまで
ずらした数+nが答えとなります。
こっちの方が簡単に実装できますね。

ソースコード
>|cs|
using System;
using System.Collections.Generic;
using System.Text;


public class ThePalindrome
{
public int find(string s)
{
int n = s.Length;
char[] tmp = s.ToCharArray();
Array.Reverse(tmp);
string revS = new string(tmp);


int res = 0;
for (int i = 0; i < n; i++)
if (s.Substring(i, n - i).Equals(revS.Substring(0, n - i)))
{
res = n + i;
break;
}
return res;
}
}
|