判断带头结点的双循环链表是否对称

本文介绍了一种使用双向链表实现回文判断的方法。通过遍历链表获取长度,并利用中间部分进行数据对比,实现了高效判断双向链表是否为回文结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头结点:head
bool BL()
{
    bool isOK = false;
    struct DulNode * start, * p;
    int len = 1;
    start = head->next;
    p = start->next;
    while(p != start)
    {
        len++;
        p = p->next;
    }
    int l = len/2;
    while(l--)
    {
        l1 = len/2;
        p1 = p;
        q = p1->next;
        while(l1--)
        {
            if(p1.data != q.data)
                break;
            p1 = p1->next;
            q = q->next;
        }
        if(l1 == 0)
        {
            isOK = true;
            break;
        }
        p = p->next;
    }
    return isOK;
}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值