zoukankan      html  css  js  c++  java
  • 最长回文字符(需要补)

    题目

    给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

    示例 1:

    输入: "babad"
    输出: "bab"
    注意: "aba" 也是一个有效答案。

    示例 2:

    输入: "cbbd"
    输出: "bb"

    来源:力扣(LeetCode)

    解题

    首先介绍一下我的错误。

    我开始理解这个最长回文字符的时候,我是这样理解的。
    那么不就是无重复字符的最长子串,加上最后一个嘛。
    比如无重复字符是abc,那么不就是cabc吗?
    在这里我有两个错误,第一个错误就是无重复字符abc,回文不是cabc,因为如果字符就是abc的话就不符合。
    第二我理解错了,回文的意思,回文是acca,这才是回文,就是从左到右,还是从右到左都一样。
    最后我用最长公共子系列,去解决;

    class Solution {
    public:
    	string longestPalindrome(string s) {
    		if (s.size() == 1||s.size()==0)
    		{
    			return s;
    		};
    		string res = s;
    		reverse(res.begin(),res.end());
    		int len = 0;
    		string result = "";
    		for (int i = 0; i < s.size(); i++)
    		{
    			string temp = "";
    			for (int j=i;j<s.size();j++)
    			{
    				temp += s[j];
    				if (temp.size()>=len)
    				{
    					if (res.find(temp)!=-1)
    					{
    						string temp2 = temp;
    						reverse(temp2.begin(), temp2.end());
    						if (temp2==temp)
    						{
    							result = temp;
    							len = temp.size();
    						}
    					}
    				}
    				else
    				{
    
    					continue;
    				}
    			}
    			temp = "";
    		}
    		return result;
    	}
    };
    

    这种方法是有问题的,因为如果字符过长会超时,正在看其他解法。。。
    后续补齐。

  • 相关阅读:
    SQLSERVER排查CPU占用高的情况
    bootstrap布局两列或者多列表单
    ASP.NET Redis 开发
    .NET 环境中使用RabbitMQ
    EasyNetQ介绍
    .Net使用RabbitMQ详解
    ASp.net中Froms验证方式
    全国-城市-百度地图中心点坐标
    IIS7.0下 HTTP 错误 404.15
    asp.net报错“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”的解决办法
  • 原文地址:https://www.cnblogs.com/aoximin/p/12313704.html
Copyright © 2011-2022 走看看