刷题
weixin_42135074
这个作者很懒,什么都没留下…
展开
-
【28】数组中出现次数超过一半的数字
【28】数组中出现次数超过一半的数字题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。整体思路:首先先得到数组的大小信息,然后将数组进行排序,选择快速排序,复杂度为o(lgn)然后依次半段是否大于数组长度的一半原代码如下:...原创 2019-11-19 19:35:14 · 85 阅读 · 0 评论 -
【24】二叉树和为某一值的路径《剑指offer》
【24】二叉树和为某一值的路径《剑指offer》题目描述:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)解题思路:需要遍历出所有从上至下的路径,很容易想到用递归的方法来求解该问题。递归三个条件:做什么? ----遍历所有路径等式?-...原创 2019-11-17 19:40:42 · 90 阅读 · 0 评论 -
【22】从上到下打印二叉树《剑指offer》
【22】从上到下打印二叉树《剑指offer》题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。解题思路:根据题目描述,打印顺序就是层序遍历的顺序。第一次接触到该题时,想着尝试用递归的方法去解决,但是不清楚如何用递归实现层序遍历,所以用了比较笨的方法,先将树的节点依次加入到一个buffer缓存区中,然后在依次将数据打印。代码如下:vector<int> PrintFr...原创 2019-11-17 18:58:10 · 83 阅读 · 0 评论