- 博客(20)
- 收藏
- 关注
原创 【leetcode】两数相加2
两数相加2问题描述: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 1.每位相加,再加进位值,生成一个新的链表class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
2020-08-13 15:17:26 203
原创 【leetcode】回文链表
回文链表问题描述:请判断一个链表是否为回文链表解法一:得到所有的值,转换为判断会问数组class Solution: def isPalindrome(self, head: ListNode) -> bool: ptr=head val=[] if (not head) or head.next==None: ...
2020-04-29 17:55:23 169
原创 【leetcode】返回倒数第k个节点
返回倒数第k个节点问题描述解法一把所有节点的值获取到添加到数组里,然后返回数组中倒数第k个元素class Solution: def kthToLast(self, head: ListNode, k: int) -> int: vale=[] while(head): vale.append (head.val) ...
2020-04-29 16:02:31 177
原创 【leetcode】合并k个有序链表
合并k个有序链表问题描述:合并 k 个排序链表,返回合并后的排序链表.解法一:# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: de...
2020-04-28 23:33:09 214
原创 【leetcode】合并两个有序链表
【leetcode】合并两个有序链表问题描述:解法一临时头结点的使用(复习)。同步比较两个链表的头的大小,进行新链表的构建。class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: res = ListNode(None) node = r...
2020-04-27 23:14:08 141
原创 【leetcode】复制带随机指针的链表
复制带随机指针的链表问题描述给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示:val:一个表示 Node.val 的整数。random_index:随机指针指向的节点索引(范围从 0 到 n-1);...
2020-04-27 16:34:45 104
原创 【链表划分】
链表划分问题描述给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。解题思路:把大于x和小于x的节点分别存放在两个链表里,然后在拼接起来tips巧用临时头结点:设置一个临时头结点,就无须定位两个头结点的头,返回时只需返回头结点的next即为我们所需要的链表。记住给最后一个节点的ne...
2020-04-26 17:16:08 144
原创 【链表求环】
链表求环问题描述tips:[3,2,1,2,4,5,6]里面的2不是同一个节点,只是值一样,所以在借助哈希表查找的时候需要存储的是节点的全部信息,包括下一个节点,而不仅仅存节点的值。class Solution: def hasCycle(self, head: ListNode) -> bool: value={} while(hea...
2020-04-25 21:27:58 125
原创 【leetcode】求两个链表的交点
求两个链表的交点c++借助set/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {publi...
2020-04-25 15:34:40 336
原创 【leetcode】链表题之链表逆序
反转链表链表全部反转记录后面的节点头结点取下连接到新的逆序节点头结点变为逆序节点的头节点链表中的一部分反转记录要逆序节点的前驱节点对子链表进行逆序,思路如上将前驱节点与逆序后的节点连接逆序节点尾节点与后面的节点连接返回原来链表的初识头结点/** * Definition for singly-linked list. * struct ListNode { *...
2020-04-24 23:37:41 190
原创 【leetcode】单词规律
单词规律问题描述字典解法class Solution: def wordPattern(self, pattern: str, str: str) -> bool: a={} p=list(pattern) q=str.split(" ") if len(p)!=len(q): retur...
2020-04-24 17:55:02 267 1
原创 【leetcode】子数组的最大平均数
子数组的最大平均数问题描述简单解法class Solution: def findMaxAverage(self, nums: List[int], k: int) -> float: sum=0 allres=[] for i in range(len(nums)-k+1): for m in num...
2020-04-24 15:30:01 276
原创 【leetcode】最大连续1的个数合集
最大连续1的个数合集(简单)问题描述:把所有连续1的个数存在列表里,然后取最大值,空间消耗大class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: n = 0 l = [] for i in range(len(nums)): ...
2020-04-23 22:52:05 295
原创 【leetcode】三个数的最大乘积
三个数的最大乘积问题描述:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。1.初步解法:正负分开存放在数组中,空间消耗大class Solution: def maximumProduct(self, nums: List[int]) -> int: a=[] b=[] for i in nums: ...
2020-04-23 20:22:52 188
原创 【leetcode】找到所有数组中消失的数字
找到所有数组中消失的数字问题描述:给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。初次解法按顺序遍历,把不在数组里的值添加到结果的数组里。c...
2020-04-23 16:18:50 259
原创 【leetcode】移动零
移动零题目描述:我的解法:优化解法:题目描述:我的解法:暴力交换:0 1 0 3 121 0 0 3 121 3 0 0 121 3 12 0 0void moveZeroes(int* nums, int numsSize){ int i,j; for (i=0;i<numsSize-1;i++) { if (nums[i]==0)...
2020-04-17 21:20:37 168
原创 【leetcode】第三天
二叉搜索树的最小绝对差问题描述:给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。了解BST二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、...
2020-03-24 19:51:04 71
原创 【leetcode】第二天
[leetcode]第二天问题描述:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLc 迭代法反转链表需要用到的一个知识点就是链表的"头插法"。将需要插入的节点的next指向待插入链表,即实现了节点的头插。通过迭代则将所有的节点按照头插的...
2020-03-24 15:49:35 94
原创 【leetcode】第一天
两数之和leetcode页面问题描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。我用的算法 逐个计算法,复杂度高。从第一个数开始和后面的数进行求和,没有符合目标值的情况则对第二个数进行同样的操作,直到找到目标值...
2020-03-21 00:26:40 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人