题目: 删除排序链表中的重复元素 II:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 思路: 懒人思维,使用哈希表。 程序: # Definition for singly-linked list. # class ListNode: # def __ini ...
分类:
编程语言 时间:
2020-05-02 19:16:59
阅读次数:
118
题目将两个升序链表合并为一个新的升序链表并返回。 新链表是通过拼接给定的两个链表的所有节点组成的。 代码 / Definition for singly linked list. public class ListNode { int val; ListNode next; ListNode(int ...
分类:
其他好文 时间:
2020-05-01 18:54:00
阅读次数:
54
题目: 旋转链表:给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 思路: 将链表成环进行旋转,对于K,需要判断数目,使用超过了链表的长度。 程序: # Definition for singly-linked list. # class ListNode: # de ...
分类:
移动开发 时间:
2020-05-01 18:17:27
阅读次数:
172
二叉树基础遍历 在上一章以解释过 算法框架之数组&链表&二叉树 二叉树扩展 【如何判断两棵二叉树是否完全相同?】 先来道开胃菜 应该很好理解 一共会出现三种情况【空的情况(都空+一个空)+非空情况+递归】 /** * Definition for ListNode. * function ListN ...
分类:
编程语言 时间:
2020-05-01 17:06:28
阅读次数:
80
题目: 反转链表:反转一个单链表。 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 思路: 思路一:使用栈的思想。 思路二:使用迭代。 思路三:使用递归。 程序1: # Definition for singly-linked list. # class ListNode: # de ...
分类:
编程语言 时间:
2020-05-01 17:01:32
阅读次数:
66
一开始写的没有注意到在while中判断的时候需要判断 l1 和 l2 同时不能为空,否则会一直在循环里,且由于某一个链表走到最后以后再取值会报错,初始链表应该用new ListNode(0)来初始化 package leetcode; /** * @author doyinana * @create ...
分类:
其他好文 时间:
2020-05-01 14:43:20
阅读次数:
53
两次遍历 思路: 先遍历一次得到数组长度length,第二次遍历找到位置在length-n的节点p,让p.next=p.next.next即可 代码: # Definition for singly-linked list. # class ListNode: # def __init__(self ...
分类:
其他好文 时间:
2020-05-01 10:23:41
阅读次数:
54
题目: 合并两个有序链表:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 思路: 本题思路较简单。 程序: # Definition for singly-linked list. # class ListNode: # def __init__(sel ...
分类:
编程语言 时间:
2020-05-01 01:20:53
阅读次数:
214
使用依次相加,记录进位的方式进行运算,下面是我的解答,leetcode上运行耗时20ms,内存占用7.3MB struct ListNode{ int val; struct ListNode *next; }; struct ListNode* addTwoNumbers(struct ListN ...
分类:
其他好文 时间:
2020-04-27 15:44:38
阅读次数:
47
假如链表长度为5,有1,2,3,4,5五个元素,删除倒数第2个元素4。5-2=3,也就是指向被删除的元素的上一个元素,正好。 正确做法:多次循环: class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { Li ...
分类:
其他好文 时间:
2020-04-23 11:52:18
阅读次数:
50