题解 | #牛群编号的回文顺序II#

牛群编号的回文顺序II

https://www.nowcoder.com/practice/e887280579bb4d91934378ea359f632e

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
#include <ios>
#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param head ListNode类 
     * @return ListNode类
     */

    bool huiwen(vector<int> temp)
    {
        int left = 0;
        int right = temp.size()-1;

        while(left<right)
        {
            if(temp[left]!=temp[right])
                return false;
            ++left;
            --right;
        }

        return true;
    }

    ListNode* maxPalindrome(ListNode* head) {
        // write code here
        vector<int> v;

        ListNode* t = head;

        while(t)
        {
            v.emplace_back(t->val);
            t = t->next;
        }

        // 如果整个链表顺序都是回文的,则返回空链表
        if(huiwen(v))
            return nullptr;

        vector<int> ans;
        // 双重遍历找出最长连续回文子串
        for(int left=0; left<v.size();++left)
        {
            for(int right=left+1; right<v.size(); ++right)
            {
                vector<int> temp(v.begin()+left,v.begin()+right+1);
                if(huiwen(temp))
                {
                    if(ans.size() < temp.size())
                        ans = temp;
                }
            }
        }

        ListNode* res = new ListNode(-1);
        t = res;
        for(int i=0; i<ans.size(); ++i)
        {
            t->next = new ListNode(ans[i]);
            t = t->next;
        }

        return res->next;
    }
};

虚数五行区解题中心 文章被收录于专栏

非淡泊无以明志,非宁静无以致远

全部评论

相关推荐

今天 12:20
门头沟学院 运营
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务