摘要:
题目描述 统计一个数字在排序数组中出现的次数。 思路: 最简单的从头遍历 更优化的方案利用二分法。 我做的时候,一开始在while循环里面忘记mid=(begin+end)/2,导致运行时间超长进入死循环。粗心啊!!! class Solution { public: int GetNumberOf 阅读全文
摘要:
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0 class Solution { public: double Power(double base, int exponent) { if 阅读全文
摘要:
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 简单的一种做法:设置一个新的数组。 然后对原数组从头开始遍历,若是奇数,就复制到新数组中,遍历完一遍后;再遍历第 阅读全文
摘要:
题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路:有2方法。 第一种:找到数组的长度i,让指针从头开始走i-k步即可 第二种:设置两个指针指向头结点,让一个先走k步,然后两者再同时前进,当先出发的那个到达结尾时,后出发的那个所指的就是倒数第k个结点 代码: /* struct ListNo 阅读全文
摘要:
题目描述 输入一个链表,反转链表后,输出新链表的表头。 思路:遍历链表,将数值存储到数组中。然后再将数组中的值反向复制到链表 代码: /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next 阅读全文
摘要:
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路: 代码: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = v 阅读全文
摘要:
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路: 1.先判断root1的根节点和root2的根节点是否相同 2.若是不相同,则递归遍历root1的左右子树,直到找到一个节点与root2的根节点相同 3.若是相同,则依次遍历左右节点,查看ro 阅读全文
摘要:
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5思路:采用递归的思想从根节点开始,1若是左右子树都不为空,就将根节点的左指针指向右 阅读全文
摘要:
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1 阅读全文
摘要:
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 阅读全文