摘要: 描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 方法一(改变相邻节点的值) public ListNode swapPairs(ListNode head) { ListNode res = head; if (head == null || head.next == null) 阅读全文
posted @ 2021-04-05 18:52 迁承_0204 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 public ListNode mergeTwoLists(ListNode l1, ListNode l2) { //设置虚拟头结点 ListNode res = new ListNode(-1); ListNode 阅读全文
posted @ 2021-04-05 15:00 迁承_0204 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 描述 输入两个链表,找出它们的第一个公共节点。 解题方式(双指针) 需要注意的是:此时比较的是节点的地址值,而不是节点的val public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode h1 = he 阅读全文
posted @ 2021-04-05 13:32 迁承_0204 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 描述 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 使用的方式为快慢指针 public Lis 阅读全文
posted @ 2021-04-05 12:55 迁承_0204 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的 阅读全文
posted @ 2021-04-05 11:33 迁承_0204 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 题目:206. 反转链表 反转一个单链表。 方式一(迭代) public ListNode reverseList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode curr = hea 阅读全文
posted @ 2021-04-05 10:38 迁承_0204 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题目:203. 移除链表元素 概述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 方式一(添加一个虚拟头结点) public ListNode removeElements(ListNode head, 阅读全文
posted @ 2021-04-05 10:24 迁承_0204 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 public int reverse(int x) { //设 阅读全文
posted @ 2021-04-05 09:21 迁承_0204 阅读(36) 评论(0) 推荐(0) 编辑