- 博客(11)
- 收藏
- 关注
原创 二叉树最大深度,
链接:https://leetcode.cn/problems/sum-of-left-leaves/solutions/866969/dai-ma-sui-xiang-lu-dai-ni-xue-tou-er-ch-j6f9/root->left->right) { // 左子树就是一个左叶子的情况。的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
2023-06-08 21:52:36
23
原创 二叉数的先序,中序,后序遍历
**先序递归遍历* };*/public:中序递归遍历/*** };*/public:后序递归遍历/*** };*/public:
2023-06-06 21:00:22
496
原创 滑动窗口,前k个高频元素。。代码存在问题,以后完善
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。if (pri_que.size() > k) { // 如果堆的大小大于了K,则队列弹出,保证堆的大小一直为k。// 找出前K个高频元素,因为小顶堆先弹出的是最小的,所以倒序来输出到数组。输入:nums = [1,3,-1,-3,5,3,6,7], k = 3。// 定义一个小顶堆,大小为k。//伪代码,不能运行,存在问题,日后改善。输出:[3,3,5,5,6,7]
2023-06-06 09:18:04
601
1
原创 有效括号,删除字符串中所有相邻的重复项
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。输入:s = "()[]{}"输入:s = "()"输入:s = "(]"输入:"abbaca"
2023-06-05 19:31:29
596
原创 反转字符串
给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。著作权归领扣网络所有。输入:s = ["H","a","n","n","a","h"]输入:s = ["h","e","l","l","o"]输出:["h","a","n","n","a","H"]输出:["o","l","l","e","h"]输入:s = "abcdefg", k = 2。
2023-06-02 10:48:45
722
原创 两两交换链表节点+删除链表的倒数第n个节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。链接:https://leetcode.cn/problems/remove-nth-node-from-end-of-list。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。输入:head = [1], n = 1。输入:head = [1,2,3,4]输出:[2,1,4,3]输出:[1,2,3,5]
2023-05-28 17:57:41
1192
原创 1.移除链表2.设计链表2.链表翻转
void addAtIndex(int index, int val) 将一个值为 val 的节点插入到链表中下标为 index 的节点之前。给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。void addAtTail(int val) 将一个值为 val 的节点追加到链表中作为链表的最后一个元素。// 链表变为 1->2->3。//2.非头结点的删除,需要考虑到删除节点的前后两个节点如何连接起来,以及结束条件。
2023-05-27 17:08:13
1182
原创 有序数组的平方,长度最小的子数组。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。输入:target = 7, nums = [2,3,1,2,4,3]解释:平方后,数组变为 [16,1,0,9,100]输入:nums = [-4,-1,0,3,10]输入:nums = [-7,-3,2,3,11]排序后,数组变为 [0,1,9,16,100]输出:[0,1,9,16,100]输出:[4,9,9,49,121]
2023-05-25 21:36:44
1145
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人