Lang:Python2
Edit1234567891011121314151617181920string=raw_input()n = len(string)dp = [[0]*n for _ in range(n)]for ii in range(n)[::-1]:for jj in range(ii,n):#print ii,jjif jj==ii+1 :if string[ii]==string[jj]:dp[ii][jj] = 0else:dp[ii][jj] = 1else:if string[ii]==string[jj] and ii+1<=n-1 and jj-1>=0:dp[ii][jj]=dp[ii+1][jj-1]else:if ii+1<=n-1 and jj-1>=0:dp[ii][jj]=min(dp[ii+1][jj],dp[ii][jj-1],dp[ii+1][jj-1])+1print dp[0][-1]