摘要: 【思路】要完成旋转共需两步 1.第一次x,y互换 s1[i][j]=s[j][i]1, 2, 3, 45, 6, 7, 89, 10,11,1213,14,15,16变成了1, 5, 9, 132, 6,10,143, 7,11,154, 8,12,16 然后x逆序 s2[i][j]=s1[n-i] 阅读全文
posted @ 2017-02-27 21:37 Strawberry丶 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 【思路1】递归,左右孩子交换再分别递归左右子树 【思路2】非递归,栈实现 阅读全文
posted @ 2017-02-27 20:10 Strawberry丶 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 【思路】要查找树A中是否存在和树B结构一样的子树,可以分成两步: 1.第一步在树A中找到和B的根节点的值一样的结点R;即当前树A包含子树B,HasSubtree(...) 2.第二步再判断树A中以R 阅读全文
posted @ 2017-02-27 19:23 Strawberry丶 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 【思路1】递归 【思路2】非递归,新建一个链表并保存头结点,将原来两个链表进行比较按顺序插入到新链表中,最后将有剩余的链表直接接上。 阅读全文
posted @ 2017-02-27 18:40 Strawberry丶 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,反转链表后,输出链表的所有元素。 【思路1】三个指针在链表上同时滑动。 【思路2】头插法 阅读全文
posted @ 2017-02-27 16:38 Strawberry丶 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 【思路】利用两个相隔为k-1个结点的指针进行遍历,当后一个指针移到末尾时,前一个指针就是要求的结点。 阅读全文
posted @ 2017-02-27 16:02 Strawberry丶 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 【思路1】用2n的空间换取n的时间复杂度,另外开一个数组,先将奇数存入再将偶数存入 【思路2】 * 1.要想保证原有 阅读全文
posted @ 2017-02-27 14:31 Strawberry丶 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 【思路1】递归 1 class Solution { 2 public: 3 double Power(double base, int exponent) { 4 if(exponent < 0){ 5 base = 1/base; 6 exponent = -exponent; 7 } 8 if 阅读全文
posted @ 2017-02-27 12:43 Strawberry丶 阅读(162) 评论(0) 推荐(0) 编辑