LinkList
whitesun123
这个作者很懒,什么都没留下…
展开
-
删除链表指定位置节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.进阶:你能尝试使用一趟扫描实现吗?思路一:先得到一链表大小public ListNode removeNthFromEnd_2(ListNode head, in...原创 2018-04-20 14:13:51 · 2032 阅读 · 0 评论 -
删除指定节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾的)节点,您将只被给予要求被删除的节点。比如:假设该链表为 1 -> 2 -> 3 -> 4 ,给定您的为该链表中值为 3 的第三个节点,那么在调用了您的函数之后,该链表则应变成 1 -> 2 -> 4 。思路: 一般我们删除某个节点都要知道前一个节点,现在不知道前一个节点,那么就赋值,假" 删除"这个节点,实际删...原创 2018-04-20 14:18:46 · 1300 阅读 · 0 评论 -
反转单链表
反转一个单链表。进阶:链表可以迭代或递归地反转。你能否两个都实现一遍?解法一:使用额外空间,比如数组,stack等解法二:迭代解法定义3个指针,分别指向当前遍历到的结点、它的前一个结点及后一个结点。在遍历过程中,首先记录当前节点的后一个节点,然后将当前节点的后一个节点指向前一个节点,其次前一个节点再指向当前节点,最后再将当前节点指向最初记录的后一个节点,如此反复,直到当前节点的后一个节点为NULL...原创 2018-04-20 16:02:14 · 224 阅读 · 0 评论 -
合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路一:用其他数组呀什么的...思路二:public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ...原创 2018-04-21 15:03:33 · 146 阅读 · 0 评论