网站首页 站内搜索

搜索结果

查询Tags标签: ListNode,共有 549条记录
  • 【算法】链表判断是否有环

    class ListNode{int val;ListNode next;ListNode(int x){this.val = x;next = null;}思路一:用哈希表存储遍历所有节点 每个访问的节点,放入哈希表中,如果下一个节点已经存在于哈希表中,表示有环 时间和空间复杂度都是O(N)//hashpublic boolean hasCycleWithHash(List…

    2021/7/1 17:25:01 人评论 次浏览
  • LeetCode_LinkedList_92. Reverse Linked List II 反转链表 II(C++/Java)【递归】

    目录 一,题目描述 英文描述 中文描述 二,解题思路 三,AC代码 C++ Java 四,解题过程 第一博 一,题目描述 英文描述Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position l…

    2021/7/1 11:51:17 人评论 次浏览
  • LeetCode 每日一题 (两数相加)

    /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/…

    2021/6/28 23:21:25 人评论 次浏览
  • Leetcode初级算法——链表

    删除链表中的节点 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。 现有一个链表 -- head = [4,5,1,9],它可以表示为:​示例 :输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节…

    2021/6/28 17:22:32 人评论 次浏览
  • Leetcode——两两交换链表中的节点

    1. 题目 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。2. 题解 解法一: 迭代 1.新建一个链表用于跟踪节点,指向head2.节点1指向节点3,节点2指向节点1,完成一次交换,继续循环 /*** De…

    2021/6/27 23:24:32 人评论 次浏览
  • 算法刷题之七链表

    链表 题目:链表删除某一个节点 删除倒数第N个节点 链表逆序 回文链表 判断链表是否有环路 找出环路链表的入口 链表排序 相交链表 两个连表生成相加链表链表的数据格式就是如下:需要注意的是:链表尾部的next为None。所以判断链表结束时,这是遍历一个链表最常用的结束方…

    2021/6/25 14:56:50 人评论 次浏览
  • 剑指 Offer 06. 从尾到头打印链表

    输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1:输入:head = [1,3,2] 输出:[2,3,1]限制: 0 <= 链表长度 <= 10000题解: 使用栈,后进先出的特点。 从链表头开始,依次将节点入栈,然后依次弹出栈内元素并存储到数组中。创建一个…

    2021/6/24 23:27:15 人评论 次浏览
  • Java实现单链表(头插法和尾插法)

    手写单链表 定义一个ListNode类 public class ListNode {public int val;public ListNode next;public ListNode() {}public ListNode(int val) {this.val = val;}public ListNode(int val, ListNode next) {this.val = val;this.next = next;} }用用头插法和尾插法完成链…

    2021/6/21 22:26:48 人评论 次浏览
  • 206.反转链表Java

    206.反转链表Java 题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 输入输出样式 示例1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例2: 输入:head = [1,2] 输出:[2,1]本文题来自LeetCode:https://leetcode-cn.com/problems/reverse-…

    2021/6/20 22:26:46 人评论 次浏览
  • 每天一道算法题_005_找出环形链表的入口点

    给定一链表头结点,如果是环形链表,返回其入口点节点。struct ListNode {int val;ListNode *next;ListNode(int num):val(num),next(nullptr){} };ListNode *cycleList(ListNode *head) {//老规矩if(!head || !head->next)return head;ListNode *slow = head;ListNode…

    2021/6/19 9:26:52 人评论 次浏览
  • 链表交换和排序

    链表交换和排序 1、给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 说明: 你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 class Sol…

    2021/6/16 10:53:04 人评论 次浏览
  • 链表及其算法

    例题一:2.两数相加 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 注意: 1.判断是否需要进位 2.如果最高位需要进位,( >…

    2021/6/15 22:47:31 人评论 次浏览
  • leetcode_member access within null pointer of type 'struct ListNode'

    空指针引用问题,最近经常遇到这个bug,找出了出现此bug的一个原因: 不能引用没有被赋值的指针。 例如:int *q=p->next; 要改为:if(p){int *q=p->next;}要使用指针p,必须保证p不为空指针。更具体地,再举一个例子:#include <iostream>using namespace …

    2021/6/15 14:23:04 人评论 次浏览
  • 力扣-24题(Java)-链表节点交换

    题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/ 题目如下: 思路: /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* …

    2021/6/8 22:21:20 人评论 次浏览
  • Leetcode刷题笔记之专题(1)链表求解 Python实现

    第一专题: 链表求解 1. leetcode 224 反转链表(easy) 思路一: 迭代 迭代需要三个指针,pre,cur,nxt,分别按顺序指向三个节点 三个指针的初始化:pre指向空节点,cur指向头结点head,nxt指向head.next 因为head.next可能不存在,nxt在循环中定义,这样如果head为空就不…

    2021/6/7 14:22:32 人评论 次浏览
扫一扫关注最新编程教程