牛客527161027号
牛客527161027号
全部文章
分类
题解(27)
归档
标签
去牛客网
登录
/
注册
牛客527161027号的博客
全部文章
(共27篇)
题解 | #判断一棵二叉树是否为搜索二叉树和完全二叉树#
搜索二叉树的中序遍历是一个递增序列完全二叉树进行层次遍历时如果碰到了空指针,则队列中后面不能再存在非空元素。有两个含义: 左边先满,左边都空了,右边自然不能再存在元素 右边都空了,下一层的左边就不能再存在元素,否则高度之差超过了一 /** * struct TreeNode { * i...
c++
二叉树
2021-09-03
0
449
题解 | #二叉树根节点到叶子节点和为指定值的路径#
这个题比较坑的一点是 results 不能是 std::set<vector<int>>,要不然会倒在第 19 个用例上。然后就是判断叶子节点了,比较简单,和 NC5、NC7、NC8 一种题型</int> #include <numeric> cla...
c++
二叉树
2021-09-03
0
439
题解 | #二叉树根节点到叶子节点的所有路径和#
关键在于对叶子节点的判断。只有在叶子节点才会将路径和 push 进容器。 这个题算是和 NC8、NC9 一脉相承的 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *...
c++
二叉树
2021-09-03
0
468
题解 | #二叉树的最大路径和#
代码不是我想的,这里只是做出解释 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public...
c++
二叉树
2021-09-03
0
493
题解 | #二叉树中是否存在节点和为指定值的路径#
主要是有一点需要注意: 路径终点必须是叶子 要实现这一点有两个地点需要注意: sum 必须在叶子节点判断 根节点的左右子树必须要和其它子树进行区分。因为不进行区分的话有可能根节点就满足要求了,这时左/右子树其中一个为 nullptr,就会得到错误的结论 class Solution { pu...
c++
二叉树
2021-09-01
0
430
题解 | #包含min函数的栈#
最简单的是使用双栈。一种更好的方式是使用差值栈。差值栈唯一麻烦的是 pop() 操作。 class Solution { stack<int> diffStack; stack<int> minStack; public: void push(int ...
c++
栈
2021-08-31
0
300
题解 | #求二叉树的层序遍历#
第二个进入 2ms 的算法。很开心 ^_^ 时间:2ms内存:412KB ```c++/** struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; / class Solution {public...
c++
二叉树
2021-08-31
0
381
题解 | #删除链表的倒数第n个节点#
双指针,没什么好说的 class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { // write code here if(!head) return head; ...
c++
链表
2021-08-30
2
466
题解 | #第一个只出现一次的字符#
可以使用暴力求解: class Solution { public: int FirstNotRepeatingChar(string str) { for(int i =0; i < str.length(); ++i){ bool hasSe...
c++
字符串
2021-08-30
0
326
题解 | #买卖股票的最好时机#
刚开始也想到了递归的方式,但是想的太负债了,实际上很简单。这里感谢 https://blog.nowcoder.net/n/5186bd2529ec4b02b32a85353884de44 /** * struct TreeNode { * int val; * struct Tr...
c++
二叉树
2021-08-30
0
448
首页
上一页
1
2
3
下一页
末页