首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/640743

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

判断回文链表

题目描述:判断一个普通的链表是否是回文链表,要求时间复杂度O(n),空间复杂度O(1) 解决思路: 最简单的方法是利用栈把链表的前半段压栈,然后出栈与链表的后半段逐个比对。找中间位置的方法是快慢指针。 还有一种方法是利用快慢指针找到中间,然后将链表的后半部分反转,再依次进行比较,利用的是链表反转的知识。 import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.util.Stack; public class Main_ { class ListNode{ public int val; ListNode next = null; public ListNode(int val){ this.val = val; } } //利用栈的思想 public boolean checkPalindrom(ListNode node){ if(node == null) return false; Stack<ListNode> stack = new Stack...

可视化讲解 深度优先遍历(DFT)

可视化讲解 深度优先遍历(DFT) 深度优先遍历, 刷过题的朋友应该都很熟悉了,难是不难,但是理解起来还是要费一些功夫的. 深度优先遍历的实现方法有递归和非递归两种, 这里我们用可视化的角度,讲解前一种: 递归的深度优先遍历. 为什么要以可视化的方式来讲解呢? 因为人是视觉的动物, 如果和你说 二叉树 或 栈 , 相信大家脑中出现的都是下面的图形: 而不是下面的代码: // binary tree class Node { constructor(value, leftChild, rightChild) { this.value = value this.leftChild = leftChild this.rightChild = rightChild } } // stack const stack = new Array() stack.push(1) var topItem = stack.pop() 所以说, 人是视觉动物, 以图形可视化的方式来讲解问题往往能讲解的更清楚, 这也就是我写本文的缘由. 效果展示 为了可视化的讲解 深度优先遍历算法, 笔者写了一个简单的网页, ...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册