摘要:
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析: 1.前序遍历的第一个为根结点,在中序遍历中找到根结点的 阅读全文
posted @ 2019-09-22 17:18
西*风
阅读(156)
评论(0)
推荐(0)
摘要:
剑指offer-旋转数组的最小数字(二分) 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2, 阅读全文
posted @ 2019-09-22 17:09
西*风
阅读(133)
评论(0)
推荐(0)
摘要:
输入一个链表,输出该链表中倒数第k个结点。分析:定义两个结点p1和p2都指向头节点,p1先走k-1步,然后p1和p2一起走,当p1走到链表尾部时,p2指向的结点就是倒数第k个结点遍历一遍链表即可,时间复杂度O(N)ListNode* FindKthToTail(ListNode* pListHead, unsigned int k){ if(pListHead==NULL||k==0) ... 阅读全文
posted @ 2019-09-22 15:31
西*风
阅读(142)
评论(0)
推荐(0)
摘要:
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。class Solution {public:int NumberOf1(int x){ int c=0; while(x!=0) { c++; x=x&(x-1);//把x最右边的1变成0 } return c;}};分析:如果一个整数不为0,那么这个整数至少有一个位是1,如果我们... 阅读全文
posted @ 2019-09-22 15:04
西*风
阅读(143)
评论(0)
推荐(0)

浙公网安备 33010602011771号