前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >漫谈递归-回文链表

漫谈递归-回文链表

作者头像
早起的鸟儿有虫吃
发布于 2019-03-06 07:35:12
发布于 2019-03-06 07:35:12
1K00
代码可运行
举报
文章被收录于专栏:算法之美算法之美
运行总次数:0
代码可运行

题目

234. 回文链表 请判断一个链表是否为回文链表。

测试

示例 1: 输入: 1->2 输出: false

示例 2: 输入: 1->2->2->1 输出: true

答案

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
1  定义2个指针,head tail 
2. 递归遍历tail链表
3. 通过
     head++  链表前进, 递归特点:从上到下 
             这个是子递归完在函数内部修改的,然后当前递归在使用
             head已经发生改变)
     tail --     链表倒退,  
                 递归特点 回溯,利用函数栈跟踪轨获取最后节点。
                 tail没有改变
   判断是否回文 tail ==head
4.如果是继续,如果不是返回false
//执行用时: 20 ms, 在Palindrome Linked List的C++提交中击败了42.09% 的用户
**/
class Solution {
public:
    bool isPalindrome(ListNode* head) {
         //这2个参数意义不一样一个指针,一个指针的引用
        return isPalindrome(head,head);
    }
  
    bool isPalindrome(ListNode* tail,ListNode* &head)
    {
        if(NULL==tail) 
        {
            return true;
        }       
         //从上到下不做任何原始比较,直到结束。返回true
        bool flag=isPalindrome(tail->next,head);
        if (false ==flag)
        {
            return false;

        }        //最外层比较
        if (tail->val !=head->val)
        {
            return false;
        }
        //最里层比较,head是引用,修改的指针本身
        head =head->next;
        return flag;

    }
};

分析

  1. 什么是回文:
  1. 这就是递归 recursion(head)
  2. 链表 每个节点都是相同的结构 符合递归的特点 链表顺序遍历,这个规律无法违背?
  3. 递归特点之一 回溯 实现链表倒序遍历

性能

因为采用递归

执行用时: 20 ms, 在Palindrome Linked List的C++提交中击败了42.09% 的用户

空间: o(n) 时间:o(n)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Offer多多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何构建一个私有存储云
企业构建内部云存储时必须考虑弹性,选择正确的平台,并允许工作流,堆栈部署和公共云集成。 每个云存储选项都有其优点和缺点。企业需要根据自己的具体需求,规模大小,以及资金预算来选择采用哪种云存储,重要的是权衡所有云和内部部署选项。可以下载一些综合指南,其中专家分析和评估当前可用的每个云存储选项,以便企业可以决定采用哪个云计算模式-公共云,私有云,或混合云。 企业如何去构建自己的私有存储云?首先,让我们回顾一下云计算的真正含义。云计算的标准定义包括以下特点:弹性增长和缩减消耗资源;交付即服务,以抽象术语而不是在物
静一
2018/03/27
2.8K0
混合云存储的企业指南
混合方法通过将私有云的验证和安全能力扩展到公共云基础设施,从而解决了这一问题。这允许“即服务”的消费模型,将本地IT环境的可管理性和控制与公共云提供商提供的大量资源和纯粹能力相结合。这增加了业务灵活性
静一
2018/06/08
3K0
云存储基础设施的决定:公共云与私有云
许多IT专业人士认为,私有云存储只是其当前基础设施的另一个名称,公共云存储也是同样如此,而只是在某公司的公共数据中心实施。那些存在这些想法的供应商通常缺乏云存储基础设施技术,或者试图在技术上赶上其他市
静一
2018/03/27
3.6K0
云存储基础设施的决定:公共云与私有云
私有云对数据存储环境的好处
私有云产品也在蓬勃发展,并在性能和安全方面提供了许多优势,在发生疫情的背景下,这些优势比以往任何时候都更有价值,而且可以为企业提供经得起未来考验的云计算服务。
静一
2021/07/30
3K0
云备份选项保护公共云存储数据
如今,公共云供应商正在开发尖端产品,以使基于云计算的备份产品更有效地备份公共云的存储数据。 数据是当今大多数企业的命脉。而备份数据可能是IT行业人士最不喜欢做的工作,但在IT运营中却是最重要的过程。 由于大多数现代软件都具有备份功能,其中包括快照管理,灾难恢复元素,支持云计算,虚拟机保护等,这么多功能并不是简单地在存储器中或服务器发生故障时恢复数据。 如今,几乎每个组织每天都在使用电子邮件和办公软件,更何况产生重要数据(当前的和归档的)的那些应用程序。而且在另一方面,各行业领域的业务部门,例如金融行业,如果
静一
2018/03/26
3.6K0
Linux云计算岗位面试时最常遇到的40个问题
1)使用云计算有哪些优点? 使用云计算有下列优点: a)备份数据和存储数据 b)强大的服务器功能 c)SaaS(软件即服务) d)信息技术沙盒功能 e)提高生产力 f)具有成本效益,并节省时间 2)可否列举哪些平台用于大规模云计算? 用于大规模云计算的平台包括: a) Apache Hadoop b) MapReduce 3)可否解释用于云计算部署的不同模式? 不同的云计算部署模式包括: a)私有云 b)公共云 c)社区云 d)混合云 4)云计算与移动计算有何区别? 移动计算使用与云计算同样的概念。借助
小小科
2018/05/03
1.5K0
Linux云计算岗位面试时最常遇到的40个问题
什么是个人云
摘要总结:本文介绍了云计算的基本概念,包括云服务、云基础设施和云开发等,并探讨了云计算的发展趋势和实际应用案例。文章还提到了个人云和云开发的可能性,以及Antsle公司如何通过开源和众筹方式让云更加民主化。
用户1191492
2018/01/04
2K0
什么是私有云?人们需要消除对私有云的一些误解
调研机构IDC公司的一项研究预测,仅在2018年第二季度,全球私有云投资的销售额就达到了46亿美元,比2017年同期增长了28.2%。
静一
2018/11/22
3.2K0
解析混合云的优缺点
值得注意的是,混合云部署中的公共云和私有云是独特和独立的元素。这使组织能够在私有云上存储受到保护或具有特权的数据,同时保留利用公共云计算资源运行依赖此数据的应用程序的能力。 据管理是任何工业“物联网”
静一
2018/06/08
3.1K0
简谈“个人云”
本文介绍了云技术的起源、发展、意义以及未来的趋势。作者通过回顾云计算从概念到实践的发展过程,以及云计算如何在企业和个人层面改变世界,阐述了云计算对整个信息技术领域的深远影响。
用户1207203
2018/01/08
2.5K0
云存储为何日益成为数据存储的未来发展方向
云计算是目前业界最关注的话题,大至国家部门小至中小企业、个人用户,都想尝试把业务推向云端,其实云计算让很多人云里雾里。而云存储则是在云架构中存放资料不可或缺的组成组件。云存储这个概念的出现,在一定程度上改变了我们对于传统存储模式的看法。但是云存储想必让很多人迷惑,今天我们就并非空谈的云存储进行详细的分析和探讨。 采访一个公司的CIO时,记得他说他总是在考虑如何处理生活中“积累的东西”,一旦收集到足够的东西,他就必须找地方来存放这些。这让我想起了存储。像是电脑花了很多时间来获取数据,然后试图找到一种方法来存储
静一
2018/03/21
1.5K0
公有云、私有云与混合云到底有什么区别?
上面针对云计算一大段的解释你懂了吗?我来给大家“翻译一下”:云计算就是一种基于因特网的超级计算模式,在某一个地方由谷歌、IBM这样的专业网络公司建立了一个数据中心,将成千上万台电脑和服务器连接在一起,达到的效果就是普通电脑远远不能达到的每秒10万亿次的运算能力,而用户完全可以通过电脑、笔记本、手机等设备接入这个数据中心,根据自己的需求选择计算。
兮动人
2021/06/11
4.8K0
公有云、私有云与混合云到底有什么区别?
云成本管理技术如何在疫情期间更好地管理云支出
最有效的云成本管理策略需要保持警惕,并承诺在事情不断快速变化时进行审查。以下将讨论如何管理云计算费用,并研究不同的云计算服务类型,以更好地了解每种特定云计算产品所要管理的所有支出。
静一
2020/05/19
5440
云成本管理技术如何在疫情期间更好地管理云支出
什么是IaaS?现代数据中心平台
如今,长期在数据中心部署的服务器,操作系统,核心软件和网络正在向外迁移到公共云端。 云计算不是一种单一的产品类型,而是一系列旨在满足组织各种IT需求的服务。其中,通过云计算提供的一项这样的服务是基础
静一
2018/03/28
2K0
什么是IaaS?现代数据中心平台
你需要了解的37个现代数据中心术语
让我们深入研究一下最重要的现代数据中心术语中37个术语和定义的汇编清单。
Techeek
2018/01/12
2.4K2
你需要了解的37个现代数据中心术语
企业云存储大幅降价乃至免费,背后暗藏的是数据的野心
随着移动互联网的迅速发展,智能终端、可穿戴设备、智能家居、物联网以及基因测序正在快速普及。企业和用户每天接触的数据吞吐量呈现出指数级的增长趋势,我国社会正在步入大数据爆炸的时代。 大数据时代降临的今天,个人云存储服务早已迈向免费时代,而中国各行各业的互联网化与现实世界数据化的趋势,计算和应用都更加需要集中化,使得市场对企业级别云存储的需求更加迫切。面对这样的市场趋势,企业级云存储市场的“圈地运动”呼之欲出,“免费”二字成为了各家的新玩法。 企业级数据的大爆发 IBM 商业研究院与牛津大学的合作调研研究
静一
2018/03/23
1.9K0
企业云存储大幅降价乃至免费,背后暗藏的是数据的野心
互联网十万个为什么之什么是云存储?
云存储是一种数据存储在远端服务器集群在线访问的存储类型,用户无需关注存储位置。云存储服务提供商负责安全地存储、管理和维护存储服务器、基础设施和网络,以确保用户数据的可靠性、可用性以及性能。基于高度虚拟化的基础架构云存储可以提供广泛的弹性来应对不确定性的容量和性能的诉求。
linus_lin
2024/09/06
1870
互联网十万个为什么之什么是云存储?
本地数据中心和云数据中心,哪一个更好?
这些是一直困扰企业的一些问题,下面我们来客观的看一下数据中心基础设施中本地和云数据中心的异同。
网络技术联盟站
2023/03/13
5610
本地数据中心和云数据中心,哪一个更好?
公共云存储服务的可扩展性和性能
公共云存储服务供应商可帮助企业用户免于承担物理硬件及其相关成本的负担,其中包括能源、冷却以及服务器维护等。 很多企业都在使用公共云、私有云以及混合云这样的一个组合,但是其中的公共云存储服务是尤其吸引人的。它的成本效益高,它可提供可扩展性、可靠性以及性能优势。 使用公共云存储服务可以让企业将相关工作外包给供应商,从而从繁重的管理任务重脱身出来,并可以减少与支持物理硬件相关的成本开支。企业用户的数据是存储在供应商的数据中心内的,而供应商管理和维护着其数据中心的方方面面,具体包括能源、冷却和服务器维护等。因此,企
静一
2018/03/27
8800
5个用于更好存储的多云用例
随着多云存储技术成为市场主流,其用例正在迅速增长。因此组织需要考虑其备份、弹性、合规性、人工智能、软件开发的多云存储技术。
静一
2019/12/10
6700
推荐阅读
相关推荐
如何构建一个私有存储云
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验