- 博客(7)
- 收藏
- 关注
原创 【C++知识点】(一)基础部分
1、define宏定义:简单的 值替换,不进行类型检查。在预处理阶段展开注意:#abc 表示 宏定义为 “abc”;##作用是将宏定义的多个形参转换成一个实际参数名 num##5 ->num52、volatile关键字:其定义的变量可以随时被修改1)修饰中断程序中可以被其他程序修改的变量2)修饰多线程应用中被几个任务共享的变量3)修饰并行设备的硬件寄存器,因为寄存器随时可以被外设硬件修改3、static关键字:修饰的变量变成静态变量,函数变成静态函数1、修饰变量在函数.
2022-04-19 22:25:06
846
原创 力扣|判断链表是否有环(C++实现)
给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。面试思路:时间复杂度O(logn),空间复杂度Olog(1)class Solution...
2022-04-14 11:36:26
899
原创 力扣|将树展开成单链表结构(C++实现)
思路一:使用额外的数组,前向递归数组记录树的节点。然后再将左节点置nullptr,右节点依次更新。class Solution {public: vector<int> v; void flatten(TreeNode* root) { if(!root) return; preorder(root); TreeNode* pre = root; root->left = nullptr; ...
2022-04-14 10:37:25
663
原创 力扣|最近的公共祖先—给定一个树和两个节点,找到最近的公共祖先(C++实现)
思路:给定节点P,Q。1、特殊情况下:P,Q为根节点或者树为空,那么直接返回根节点。2、三种情况:对左子树和右子树分别递归。递归后返回的左树和右树节点返回值都不为0,说明根节点就是最近公共祖先递归后,左树为nullptr,说明P,Q都在右树上,那么递归后右节点就是最近公共祖先递归后,右树为nullptr,说明P,Q都在左树上,那么递归后右节点就是最近公共祖先class Solution {public: TreeNode* lowestCommonAncestor(Tre
2022-04-14 09:29:27
1365
原创 力扣刷题:单词搜索(C++实现)——记忆回溯方法
关于这类给定表格,查找单词问题,思路基本一致。每个各自有上下左右四个方向,向每个方向搜索的问题。具体代码如下所示。class Solution {public: bool exist(vector<vector<char>>& board, string word) { int n=board.size(); int m=board[0].size(); if(board.empty()||word.empty()){ret...
2022-04-12 16:09:11
1354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人