摘要: 题目描述 输入一个链表,反转链表后,输出链表的所有元素。 思路: 法1:用栈,压栈出栈 法2:头插法(有递归非递归2中) AC代码: 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 阅读全文
posted @ 2016-08-11 16:19 SeeKHit 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路: 法1:设置2个指针p,q。p先移动k次,然后pq同时后移,p到链表尾尾的时候,q指向倒数第k个节点。 注意://需要考虑k=0,以及List为空的情况 法2:利用栈,先全部压栈,pop k次,得到倒数第k个节点 AC代码: 1 /* 2 阅读全文
posted @ 2016-08-11 14:57 SeeKHit 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 创建新的数组用来存放偶数,遍历原数组,讲偶数存放到新数组中,同时删除偶数,再将偶数数组,push_back到 阅读全文
posted @ 2016-08-11 14:23 SeeKHit 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 思路: 要考虑边界,0,负数 AC代码: 1 class Solution { 2 public: 3 double Power(double base, int exponen 阅读全文
posted @ 2016-08-11 11:35 SeeKHit 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 入队:将元素进栈A 出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈; 如果不为空,栈B直接出栈。 1 class Solution 2 { 3 public 阅读全文
posted @ 2016-08-11 11:18 SeeKHit 阅读(113) 评论(0) 推荐(0) 编辑