• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
村雨sup
自己选的路,跪着也要走完 XD
博客园    首页    新随笔    联系   管理    订阅  订阅
Leetcode 5
//两种情况,和后面一样,和后面不一样
//对于找回文字串的问题,就要以每一个字符为中心,像两边扩散来寻找回文串,这个算法的时间复杂度是O(n*n),
class
Solution { public: string longestPalindrome(string s) { if(s == "") return ""; int maxlen = 1; int start = 0; int end = 0; for(int i=0;i < s.length()-1;i++){ if(s[i] == s[i+1]){ int x=i; int y=i+1; while(x >= 0 && y < s.length()){ if(s[x] != s[y])break; x--;y++; } x++;y--; if(maxlen < y-x+1){start = x;end = y;maxlen = y-x+1;} } int x=i; int y=i; while(x >= 0 && y < s.length()){ if(s[x] != s[y])break; x--;y++; } x++;y--; if(maxlen < y-x+1){start = x;end = y;maxlen = y-x+1;} } return s.substr(start,end-start+1); } };

_

posted on 2018-09-08 22:30  村雨sup  阅读(129)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3