大厂算法岗必拿下
大厂算法岗必拿下
全部文章
题解
归档
标签
去牛客网
登录
/
注册
大厂算法岗必拿下的博客
欢迎一起学习~
全部文章
/ 题解
(共212篇)
题解 | #树的子结构#
来自专栏
一直向左子树挨个节点搜索。进入递归看是否满足条件。如果满足,就返回true。 在向左的时候要记住当前节点,因为待会还要向右遍历这个树。记入到stack中就好,因为可以倒着来遍历。 之后每次该节点左走不了之后,弹栈,依次从后往前走当前节点的右节点,当然走右节点的时候,也是往左节点遍历。并把新的右节点压...
2021-09-08
0
418
题解 | #序列化二叉树#
来自专栏
注意用nullptr来代替真正的空指针,因为NULL就是0,虽然绝大多数情况下没问题,但是这个题就会出问题。 记得用to_string来转化数字,在数字位数大于1位时候。 转过来的时候用atoi(s.c_str());因为位数可能大于1; atoi 会自动遇到,停止。 注意char* 转 strin...
2021-09-08
0
390
题解 | #和为S的连续正数序列#
来自专栏
滑动窗口,注意滑动窗口是一种思想,并不是有固定得数据结构去支撑他。 一般是j,i满足一定得条件采取移动,而不是无条件移动。 注意移动的时候的细节,自己一定要用验槽本仔细画出来。 class Solution { public: vector<vector<int> >...
2021-09-07
0
352
题解 | #二叉树的下一个结点#
来自专栏
/* struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLinkNode *next; TreeLinkNode(i...
2021-09-07
0
371
题解 | #删除链表中重复的结点#
来自专栏
刚开始的dummynode一定不要声明成指针类型。 cur用来链接链表。 head用来做备份,并且操作的就是head head->next->val 之类的操作出来的时候,记得 head->next 不为空。 要注意一些head = head->next 是可同时处理很多事情...
2021-09-07
0
423
题解 | #二叉搜索树的第k个结点#
来自专栏
注意k == 0 的边界条件 中序遍历时升序数列。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : ...
2021-09-07
0
493
题解 | #对称的二叉树#
来自专栏
空树也是对称树。 如果时false就返回。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(...
2021-09-07
0
367
题解 | #把二叉树打印成多行#
来自专栏
就算是二维数组,返回也是{}。 class Solution { public: vector<vector<int> > Print(TreeNode* pRoot) { if(!pRoot) return {}; vector...
2021-09-06
0
418
题解 | #字符流中第一个不重复的字符#
来自专栏
用队列和map相互配合的方式做题。 其余重点看注释即可。 class Solution { public: //Insert one char from stringstream queue<char> q; unordered_map<char,int&...
2021-09-06
0
421
题解 | #表示数值的字符串#
来自专栏
正则表达式解决。 注意regex 和 regex_match 注意常用的正则的语法。\表示转义,\d这个整数需要转义才可以使用。 ()用来匹配一块字段,可以后加?号代表该字段可有可无 []里面的字符有且只能出现一次,可以加*+来控制次数。 ”“来包含这个串 #include<bits/st...
2021-09-06
0
375
首页
上一页
4
5
6
7
8
9
10
11
12
13
下一页
末页