摘要:
day14主要使用递归法遍历解决一些二叉树的简单问题,按照递归三个步骤进行思考,返回值通过答案的类型进行考虑,终止条件需要结合题意进行,单层递归逻辑可以通过画图进行确定。 leetcode 226反转二叉树 本题前序遍历和后序遍历都可,如果采用中序遍历,在遍历完左子树后经过反转,左子树变为右子树,接 阅读全文
posted @ 2026-03-03 10:58
broderk
阅读(2)
评论(0)
推荐(0)
|
摘要:
day14主要使用递归法遍历解决一些二叉树的简单问题,按照递归三个步骤进行思考,返回值通过答案的类型进行考虑,终止条件需要结合题意进行,单层递归逻辑可以通过画图进行确定。 leetcode 226反转二叉树 本题前序遍历和后序遍历都可,如果采用中序遍历,在遍历完左子树后经过反转,左子树变为右子树,接 阅读全文
posted @ 2026-03-03 10:58
broderk
阅读(2)
评论(0)
推荐(0)
摘要:
二叉树基础与层序遍历十题 主要写了一遍二叉树的各种遍历方式,递归法代码简单,便于理解;常规迭代法较乱,个人不倾向于使用;迭代法统一写法较好理解,不需要考虑太多。 递归法遍历 前序遍历 class Solution { public: void traversal(TreeNode* cur, vec 阅读全文
posted @ 2026-01-29 18:45
broderk
阅读(4)
评论(0)
推荐(0)
摘要:
Leetcode 150 逆波兰表达式求值 本题的难点在于理解什么是波兰、逆波兰表达式,遍历字符串遍历到操作符则取出栈内的前两个数字进行运算,结果再压入栈中。由于遍历到的数字是字符的形式,所以需要先转化为int类型,可以通过stoll函数进行 波兰表达式 & 逆波兰表达式-CSDN博客 st.pus 阅读全文
posted @ 2026-01-28 15:19
broderk
阅读(3)
评论(0)
推荐(0)
摘要:
Leetcode 232 栈实现队列 之前没怎么用过栈、队列啥的,这题看了看解答,定义两个栈,第一个栈push,第二个栈pop,通过两个先进后出来模拟先进先出。本题也了解了栈的使用方法 stack<int>In; stack<int>Out; MyQueue() { } void push(int 阅读全文
posted @ 2026-01-27 11:29
broderk
阅读(2)
评论(0)
推荐(0)
摘要:
Leetcode 151 反转字符串中的单词 该题第二次刷到,第一次完全没想到思路,无从下手,第二次碰到就能想到了,先反转整个字符串,再处理多余空格(包括反转后位于字符串首的空格),再遍历每个单词进行反转,中间需要注意的细节较多,需要仔细考虑 string reverse(string s,int 阅读全文
posted @ 2026-01-27 11:28
broderk
阅读(4)
评论(0)
推荐(0)
摘要:
Leetcode 344 反转字符串 采用对向双指针left=0,right=s.size()-1, void reverseString(vector<char>& s) { int left=0; int right=s.size()-1; while(left<right) { char te 阅读全文
posted @ 2026-01-22 15:08
broderk
阅读(11)
评论(0)
推荐(0)
摘要:
Leetcode 454 四数相加Ⅱ unordered_map使用的练习,一次通过,但是定义了两个unordered_map,并且需要经过两次遍历,空间和时间消耗都增加了 int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector 阅读全文
posted @ 2026-01-21 19:59
broderk
阅读(12)
评论(0)
推荐(0)
摘要:
day6 Leetcode 242有效字母异位词 该题比较简单,由于数组可以算作一个特殊的哈希表,非常适合用来处理字符串相关的问题, string t; int arr[n]; for(char c:t) { arr[c-'a']++;//c-'a'通过ascii码转换到0-26的下标索引 } 两个 阅读全文
posted @ 2026-01-20 23:05
broderk
阅读(12)
评论(0)
推荐(0)
摘要:
day4 Leetcode 24 两两交换链表中节点 题目比较简单,定义好虚拟头节点dummyhead开始遍历就行,需要注意判断遍历结束条件 cur->next!=nullptr&&cur->next->next!=nullptr class Solution { public: ListNode* 阅读全文
posted @ 2026-01-19 18:39
broderk
阅读(16)
评论(0)
推荐(0)
摘要:
Leetcode 203 删除链表节点 感觉使用虚拟头节点方便理解,如果不使用虚拟头节点需要单独写一段处理头节点的代码 class Solution { public: ListNode* removeElements(ListNode* head, int val) { ListNode* dum 阅读全文
posted @ 2026-01-17 20:37
broderk
阅读(18)
评论(0)
推荐(0)
|