
数据结构
段娇娇
不断进步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JZ52 两个链表的第一个公共结点
描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)数据范围: n \le 1000n≤1000要求:空间复杂度 O(1),时间复杂度 O(n)思路:将两个链表变成a+b,b+a的形式,此时两个链表的长度相同。再一一进行比较题解(java)public class Solution { public ListNode FindFirstCommonNode(ListNo原创 2021-10-18 16:43:16 · 120 阅读 · 0 评论 -
JZ25 合并两个排序的链表
描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围: 0 \le n \le 10000≤n≤1000,-1000 \le 节点值 \le 1000−1000≤节点值≤1000要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6}题解方法一可以考虑将两个链表的节点挨个进行比较,然后插入到一个新的链表。 pub原创 2021-10-18 14:52:33 · 204 阅读 · 0 评论 -
JZ24 反转链表
反转链表描述输入一个长度为n链表,反转链表后,输出新链表的表头。数据范围: n\leq1000n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。解决方法1.就地逆置//就地逆置 public ListNode ReverseList(ListNode head) { ListNode next = null; ListNo原创 2021-10-18 12:28:22 · 145 阅读 · 0 评论 -
JZ6 从尾到头打印链表
剑指offer数据结构–链表描述输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例1输入: {1,2,3} 返回值: [3,2,1]解法:方法一:首先想到是从尾到头打印,链表遍历的话是从头到尾。想到栈的“先进后出”的特性。可以考虑遍历时压入栈,再出栈到一个新的链表。import java.util.ArrayList;import java.原创 2021-10-18 11:23:36 · 179 阅读 · 0 评论