随笔分类 -  LeetCode

摘要:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路:新建一个链表,对l1和l2进行循环遍历,最后谁剩余,谁补到后面 # Definition for singly-linked l 阅读全文
posted @ 2022-03-22 09:24 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12] 阅读全文
posted @ 2022-03-21 10:49 小Aer 阅读(4) 评论(0) 推荐(0) 编辑
摘要:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false 来源:力扣(LeetCode) 阅读全文
posted @ 2022-03-20 15:27 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路1:三指针 # Definition for singly-linked list. # class ListNode 阅读全文
posted @ 2022-03-19 12:52 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例: 给定一个链表: 1->2->3->4-> 阅读全文
posted @ 2022-03-19 10:25 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:直接看代码吧,很简单的 class Solution: def exchange(self, nums: List[int]) -> List[int]: n = len(nums) i, j = 0, n-1 while i < j: while (i < j and (nums[i] & 1) 阅读全文
posted @ 2022-03-18 18:46 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 思路1:(不考虑大数问题) class Solution: def printNumbers(self, n: int) -> List[int]: return [i 阅读全文
posted @ 2022-03-17 10:17 小Aer 阅读(5) 评论(0) 推荐(0) 编辑
摘要:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 思路1:两个指针 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = 阅读全文
posted @ 2022-03-17 09:30 小Aer 阅读(1) 评论(0) 推荐(0) 编辑
摘要:实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 思路: 首先x==0,直接返回0,避免后续1/x报错n为负数,x变成1/x,n=-n使用幂的思想,当n对应的二进制末尾为1的时候,说明当前x应该算入到res中,更新res;如果不为1,那么 阅读全文
posted @ 2022-03-16 10:42 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。 思路1:10进制转2进制,判断余数是否为1即可 class Solution: def hammingWeight(self, n: int) -> int: if n 阅读全文
posted @ 2022-03-16 10:27 小Aer 阅读(6) 评论(0) 推荐(0) 编辑
摘要:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m - 1] 。请问 k[0]k[1]…*k[m - 1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最 阅读全文
posted @ 2022-03-15 10:13 小Aer 阅读(2) 评论(0) 推荐(0) 编辑
摘要:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是 阅读全文
posted @ 2022-03-14 10:01 小Aer 阅读(5) 评论(0) 推荐(0) 编辑
摘要:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+ 阅读全文
posted @ 2022-03-13 11:13 小Aer 阅读(4) 评论(0) 推荐(0) 编辑
摘要:吐槽自己,赋值号(=)写成了判断号(==),罪了… 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻 阅读全文
posted @ 2022-03-12 13:02 小Aer 阅读(4) 评论(0) 推荐(0) 编辑
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为1 阅读全文
posted @ 2022-03-11 19:58 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给你一棵根节点为 0 的 二叉树 ,它总共有 n 个节点,节点编号为 0 到 n - 1 。同时给你一个下标从 0 开始的整数数组 parents 表示这棵树,其中 parents[i] 是节点 i 的父节点。由于节点 0 是根,所以 parents[0] == -1 。 一个子树的 大小 为这个子 阅读全文
posted @ 2022-03-11 10:52 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例,去leetcode查看示例即可)。 思路1: 深度优先搜索使用递归的方法,三要素:结束条件,递推公式,函数函数:deepfirst结束条件 阅读全文
posted @ 2022-03-10 09:42 小Aer 阅读(8) 评论(0) 推荐(0) 编辑
摘要:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 思路: 1.python使用列表实现两个栈int, out2.入队的时候对i 阅读全文
posted @ 2022-03-07 17:14 小Aer 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。 思路: 不管num是10进制转多少进制N,都是一个思路num对N取整判断,不等于0,将num对N取余数值填充字符串,按照从右往左填充,更新num = num // N;直到num对N取整等于0 ,将此时num放到字符串最左边即可;负数 阅读全文
posted @ 2022-03-07 10:47 小Aer 阅读(7) 评论(0) 推荐(0) 编辑
摘要:leetcode并没有这道题,是剑指offer的题目,可以在牛客上找到 题目描述 给定二叉树其中的一个结点,请找出其中序遍历顺序的下一个结点并且返回。 注意,树中的结点不仅包含左右子结点,而且包含指向父结点的指针。 思路: 找到其右孩子的最左结点否则,从当前结点往上遍历(题目给出了父节点指针),当当 阅读全文
posted @ 2022-03-07 09:42 小Aer 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示