摘要:
递归解决 每一层都要对左子树和右子树进行翻转 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val 阅读全文
posted @ 2026-03-17 20:33
rdcamelot
阅读(2)
评论(0)
推荐(0)
摘要:
单调栈 用一个栈来维护当前还没有找到大于它的元素 到了一个新位置后,先用这个位置的元素去和栈中的元素比较,比栈中元素大的话,那些位置就找到了它们的目标,可以从栈中弹出,直到栈中没有元素或者栈顶的元素大于当前这个元素 接着把这个元素入栈 之所以称为是单调栈是因为这样操作后栈中最后留下的元素是单调递减的 阅读全文
posted @ 2026-03-17 19:32
rdcamelot
阅读(1)
评论(0)
推荐(0)
摘要:
麻烦的地方就是链表不能直接反向 所以遍历一遍链表把数据存下来,接着反转判断就好了 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val( 阅读全文
posted @ 2026-03-17 19:20
rdcamelot
阅读(4)
评论(0)
推荐(0)
摘要:
第一时间想的实际上是倍增,就是对于每个节点,记录它的 \(2^k\) 级祖先,查询 LCA 的时候让它们先跳到同一深度,接着再逐步向父节点移动 但是这样需要去预处理,并且这里是直接给出了函数和传进来的数据结构,所以换个角度考虑 怎么转换角度呢,如果考虑怎么去实现,那实际上还是一开始提到的思路 但是想 阅读全文
posted @ 2026-03-17 18:25
rdcamelot
阅读(6)
评论(0)
推荐(0)
摘要:
大学虽然在打 ACM ,但为了之后夏令营准备机试或者之后面试的机试的时候准备写一下 leetcode 上的 hot100 时感觉题目风格或者知识点上还是有比较大的差异(板子抄多了以及基础数据结构不太写导致的()),所以打算从头做一遍顺便基本整理一下 应该使用 nullptr 而不是 null,nul 阅读全文
posted @ 2026-03-17 16:40
rdcamelot
阅读(4)
评论(0)
推荐(0)

浙公网安备 33010602011771号