给个offer行不行x
给个offer行不行x
全部文章
算法题
sql(46)
题解(2)
归档
标签
去牛客网
登录
/
注册
给个offer行不行x的博客
全部文章
/ 算法题
(共21篇)
题解 | JZ73 翻转单词序列
这道题会用api会变得很简单,特别是对于python语言来说。 如果是C++的写法,推荐使用stringstream作为利器来分割空格。能大大帮助我们提高效率,不然我们需要手动写判断来进行空格前后的分割。并且,采用C++的写法需要使用到栈这样的数据结构,才能完成任务。 如果是python的写法,由于...
C++
Python3
2021-12-23
0
364
题解 | JZ68 二叉搜索树的最近公共祖先
这题和上一题JZ86不一样。 虽然JZ86的方法是通用的方法,但是我们要针对这道题给出的多的条件进行优化,从而达到最优的算法(不然这二叉搜索树的条件不是白给了)。 对于二叉搜索树而言,它一定是节点的左子树都小于该节点,右节点都大于该节点。 所以,我们要利用这个条件minn<=root−>...
Python3
C++
2021-12-22
0
316
题解 | JZ86 在二叉树中找到两个节点的最近公共祖先
最近的公共祖先一定是从根节点开始的一条到目的节点的路径。所以这条路径上一定会包含根节点。因此我们先找到从根节点到两个节点的路径,然后再同时遍历这两条路径,一旦发现,节点不一样的情况立即返回。这样上一个节点就是两个节点最近的公共祖先。 c++ python /** * struct Tr...
C++
Python3
2021-12-21
0
440
题解 | JZ84 二叉树中和为某一值的路径(三)
这道题可以分成两步,先遍历所有的节点,再在当前节点上,寻找路径。 按照这种方法不会重复,也不会遗漏。 c++ python /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode ...
C++
Python3
2021-12-20
0
387
题解 |JZ37 序列化二叉树
这道题的难点是在设计序列化和反序列化的结构上。 个人认为前序遍历好写一些。 有两点需要注意: 1.如果是空节点,需要标出来。我这里用的是'#'作为标记。搜索到这个标记,就不会再往下搜索。 2.在插入数字的时候,需要在插入完后做一个标记。否则上一个节点会和下一个节点的数字会造成处理混乱。比如上一个节点...
C++
Python3
2021-12-19
0
358
题解 | JZ28 对称的二叉树
C++和python分别用了两种写法做的本题。 C++采用的思路是创建一颗和它左右子树交换的树,然后再判断这颗左右子树交换的树和它原本的树结构是不是相同。如果相同,那么这颗树就是对称的树。 python采用的思路是直接对这棵树进行判断,利用isSame(p1, p2)函数来对当前的节点进行判断,如果...
C++
Python3
2021-12-19
0
330
题解 | JZ8 二叉树的下一个结点
因为是要找到给定数据中序遍历的下一个值。所以我们要把重点放在中序遍历上。 所以需要单独一个模块来做中序遍历这件事。 而在使用中序遍历前,我们首先需要知道根节点是什么,利用给的pNode节点不断向上找,找到最顶上为止即为根节点,用根节点来做中序遍历。 我们设置flag和ans两个变量。flag表示是否...
Python3
C++
2021-12-16
0
356
题解 | JZ36 二叉搜索树与双向链表
这道题是把一个二叉搜索树转换成一个双向链表。 我们知道一个二叉搜索树按照中序遍历,的出来的结果是一个排好序的升序序列。而我们要实现的双向链表也是一个升序的双向链表。 因此,我们可以考虑一个中序遍历的递归进行。 我们首先想能否直接递归用Convert()函数实现整个算法。 假设Convert()的作用...
Python3
C++
2021-12-15
0
468
题解 | JZ79 判断是不是平衡二叉树
由于要涉及到子树的高度,而单独递归IsBalanced_Solution()函数是无法涉及到子树高度的,所以需要拎出来子树高度作为一个单独的模块。 得出上面的结论的思考是:在构思IsBalanced_Solution()函数模块的时候,只用考虑当前层和其他层之间的关系,怎么串起来。而串起来的方法就是...
C++
Python3
2021-12-15
0
323
题解 | JZ82 二叉树中和为某一值的路径(一)
这题要考虑到给的树为空树的情况,所以不能这么写递归出口: if (!root) { if (sum == 0) return true; return false; } 因为这样的话,会把树为空的情况给返回true,但答案应该为false。 所以只能判断到叶子节点这一层。 c++ ...
Python3
2021-12-13
0
379
首页
上一页
1
2
3
下一页
末页