数据结构-链表
Light丶Long
真正的大师永远都怀有一颗学徒的心
展开
-
单链表的反转
思想:定义一个变量为前驱,记录每一个的前驱,用于反转链表。当遍历到最后一个结点时,找到了新的头结点,于是返回头结点的值。 代码: public Node reverList(){ Node cur = this.head; Node rever = null; //新链表的头结点 Node prev = null; //前...原创 2019-04-23 18:27:07 · 96 阅读 · 0 评论 -
java单链表关于链表是否有环以及寻找环入口
一:判断链表是否为带环链表 首先如何判断链表是否有环,这个时候首先需要知道链表是否为空,如果不为空,则继续判断。 思路:首先定义两个变量,一个fast,一个slow,让fast 每次走两步,slow每次走一步,当fast和slow相遇时,即是该链表存在环结构。如果该链表为无环结构,则当遍历完这个链表时也不会相遇。即是返回false。 ...原创 2019-04-29 17:30:09 · 6069 阅读 · 0 评论 -
合并两个排序链表
题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 代码如下: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class...原创 2019-07-23 21:50:10 · 73 阅读 · 0 评论 -
从尾到头打印链表
题目描述: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 解题思路: 先将链表的值存储在栈之中,然后再将栈中的数存储到新的链表之中,再返回链表。 代码如下: /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int...原创 2019-07-20 22:53:52 · 99 阅读 · 0 评论 -
链式A+B--有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。 给定两个链表ListNode* A,Li
题目描述 有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。 给定两个链表ListNode*A,ListNode*B,请返回A+B的结果(ListNode*)。 测试样例: {1,2,3},{3,2,1} 返回:{4,4,4} 解题思路: 首先判...原创 2019-07-28 09:16:55 · 2097 阅读 · 0 评论