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;
    	}
    };
    

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

  • 相关阅读:
    C++使用GDI+实现图片格式转换
    易语言调用C++写的DLL
    【PE】手动给PE文件添加一段代码MessageBoxA
    SHGetSpecialFolderLocation获取开始文件夹
    MySQL导入导出数据
    MySQL5.7修改密码
    Elasticsearch 基于external的乐观锁的版本控制
    Elasticsearch修改字段类型 (_reindex)
    es 迁移数据, 重建索引
    SHELL
  • 原文地址:https://www.cnblogs.com/aoximin/p/12313704.html
Copyright © 2011-2022 走看看