剑指offer
shanghx_123
努力成为一名优秀的程序员
展开
-
剑指offer----求1+2+3+...+n
题目描述: 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 class Temp { public: Temp() { _sum += _count; _count++; } static unsigned int coutsum() { return _sum; } static...原创 2019-01-23 21:08:54 · 153 阅读 · 0 评论 -
剑指offer---把二叉树打印成多行
把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路: 思路: 1.用一个队列来保存下次要打印的节点,通过队列是否为空做外循环 2.用low和high来记录当前层的节点数,用于内循环 3.每次插入完之后要把v清空 /* struct TreeNode { int val; struct TreeNode *left; stru...原创 2019-01-25 18:11:46 · 808 阅读 · 0 评论 -
找到数组中超过一半和四分之一的两个数
题目描述 一个长度为size的整形无序数组,已知其中一个元素出现的次数超过size>>1,另外一个元素出现的次数超过size>>2,请找出这两个元素。要求时间复杂度O(n),空间复杂度O(1)。 思路: 这是一道CVTE的笔试题,有点和剑指Offer中找到数组中出现一半的元素那个题相似。解决思路是借鉴剑指Offer这个题。 因为时间复杂度有要求,所以不能排序,并且空间也有要...原创 2019-02-27 17:25:52 · 440 阅读 · 0 评论