![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
烧脑篇--算法洗头头更亮
本专栏专治洗头费劲人群
扶苏葳蕤
这个作者很懒,什么都没留下…
展开
-
数组:删除排序数组中的重复项双指针Java实现
开篇数组相关的算法问题,一般都可以使用双指针完成操作,有异步指针、快慢指针等,其实就是一种升维的思想,通过一个指针访问数组就相当于一维,用两个指针操作数组,就会出现两个数组同时存在的效果,这就是升维的一种体现,我们就用leetcode上的第26题来说明一下相关方案。题目26.删除排序数组中的重复项题目描述是给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次...原创 2020-05-01 18:25:41 · 293 阅读 · 0 评论 -
树:Java中前序遍历中序遍历后序遍历
针对树这一数据结构的遍历问题主要有四种,前序遍历、中序遍历、后序遍历、层序遍历,今天我们主要说明一下前序、中序、后序的递归方式代码模板。前序遍历前序遍历可以理解为向前遍历,也就是遍历时,时刻保持节点输出顺序为(根-左-右)。public List<Integer> qiangxu(TreeNode root, List list) { if (root == nu...原创 2020-04-30 08:18:16 · 321 阅读 · 0 评论 -
树:Java中树的构建
很多初学的小伙伴都不知道如何在Java中自定义树结构,今天它来了,Java的核心就是面向对象编程,因此我们可以把树看成一个对象,直接上代码。树的构建public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }...原创 2020-04-30 08:00:38 · 898 阅读 · 0 评论 -
链表:反转链表通用公式Java版
链表的反转问题,包含很多种类型,有整体反转,两两交换、区间反转(m-n)、按照K个反转等,这些反转问题的共性都是我们要找到实际反转的区间,区间又分为两种情况:1、包含两端节点,比如两两交换,此时区间为 【head,tail】闭区间。2、不包含最大边界,比如反转链表,此时区间为【head,null)左闭右开。模板代码:1、区间反转-闭区间public ListNode re...原创 2020-04-30 00:06:37 · 160 阅读 · 0 评论 -
链表:Java中链表定义--单向链表与双向链表
很多初学的小伙伴都不知道如何在Java中自定义链表,今天它来了,Java的核心就是面向对象编程,因此我们可以把链表看成一个对象。单向链表定义我们可以定义一个类,ListNode,属性next(下一节点的引用),value(存储当前节点的值)单链表定义如下:class ListNode { int val; ListNode next;//引用指向下一节点 Li...原创 2020-04-29 23:39:36 · 543 阅读 · 0 评论