記錄一下新的面試題目,其實題目是舊的,只是我才見到。以前研究過,只不過以前的解法不容易理解,現在有了新的遞歸解法。記錄一下。

public String shortestPalindrome(String s){
  int i = 0;
  int j = s.length() -1;
  while(j>=0){
    if(s.charAt(i) == s.charAt(j)){
      i++;
    }
    j--;
  }
  if(s.length() == i)
    return s;
  String suffix = s.substring(i);
  String prefix = new StringBuilder(suffix).reverse().toString();
  String mid = shortestPalindrome(s.substring(0,i));
  
  return prefix + mid + suffix;
}

這樣解決問題,感覺比較理想。容易理解記憶,希望下次再次遇到能夠直接搞定。

最新文章

  1. codevs2216 行星序列
  2. VS Code
  3. ReportViewer技巧汇总
  4. 【CentOS】安装配置vncserver
  5. Linux GRUB 2及修改默认启动项
  6. Learning Java IO indexes
  7. window下Git和github入门
  8. 自适应滤波:维纳滤波器——GSC算法及语音增强
  9. 201521123089 《Java程序设计》第10周学习总结
  10. 接受第三方app分享的数据
  11. 基于jenkins的go语言项目自动化发布遇到的坑
  12. UML之对象图
  13. Java学习导航
  14. Linux nohup用法
  15. solr搜索
  16. 20155339 Exp9 Web安全基础
  17. CF915G Coprime Arrays 莫比乌斯反演、差分、前缀和
  18. BZOJ4184:shallot(线段树分治,线性基)
  19. eclipse使用profile完成不同环境的maven打包功能
  20. 使用java发送QQ邮件

热门文章

  1. OJ 21651::Cow Hurdles(佛罗一德的变式)
  2. UVALive - 4682
  3. MITK 手册
  4. sha1.js
  5. Quartz.NET 作业调度使用
  6. myeclipse更改后台代码不用重启tomcat的方法
  7. Django From表单定制
  8. 线程同步(windows平台):信号量
  9. 记一次MongoDB性能问题
  10. 深入理解JavaScript系列(30):设计模式之外观模式