摘要: 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,是的所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。初级程序员代码: 1 void reorderOddEven(vector&data) 2 { 3 unsigned int n = data.size(); 4 ... 阅读全文
posted @ 2015-07-01 17:33 Rosanne 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。链表结点与函数的定义如下:1 struct ListNode2 {3 int val;4 ListNode* next;5 };分析:如下图所示,假设要删除的结点为p结点,若直接删除p结点,则必须知道p的上一个结... 阅读全文
posted @ 2015-07-01 16:49 Rosanne 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目:输入数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。考点:大数问题。解决方案:在字符串上模拟数字加法。《剑指Offer》上的代码太复杂,我自己的代码如下所示: void increment(string&str) { int n = ... 阅读全文
posted @ 2015-07-01 11:15 Rosanne 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目:实现函数double Power(double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。解法一:全面但不够高效的解法需要注意的地方:指数为负数的情况。底数为0且指数为负数的情况。(无效输入)底数... 阅读全文
posted @ 2015-07-01 10:39 Rosanne 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目:写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列的定义如下:解法一:动态规划 1 int fibonacci (int n) 2 { 3 if (n<=1) 4 return n; 5 int p = 0, q = 1, result = 0; 6 ... 阅读全文
posted @ 2015-07-01 09:47 Rosanne 阅读(227) 评论(0) 推荐(0) 编辑