摘要: 1. 要有解决问题的步骤,层次感 (二叉树指针多,要判断指针是否为空) 1)先遍历二叉树,判断根节点是否一样;(没说明的情况能用递归就用递归) 2)如果根节点一样,那么进一步向下判断下面所有的子树一样; 阅读全文
posted @ 2019-08-20 22:06 高颖1995 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1.递归求解 2. 非递归 注意顺序 将==NULL放在最后, 满足的也是一开始就进去了!!! 阅读全文
posted @ 2019-08-20 20:59 高颖1995 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 1需要三个指针协同工作 工作指针 前指针 后指针 阅读全文
posted @ 2019-08-20 18:45 高颖1995 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 1.正常思路 剑指offer课本讲的很清楚 1)先由快慢指针得道环里的一个节点 //此函数也可以判断是否含有环 2)由环里的节点推断出节点的个数 3)由快慢指针得到环的入口;让快指针先走k个几点(k是环内节点个数) 2。断链 阅读全文
posted @ 2019-08-20 18:05 高颖1995 阅读(488) 评论(0) 推荐(0) 编辑
摘要: //这里是让 头指针先走 走到k-1位置时 再让后面的指针走; 别马虎写错了哈 到时候后面的指针 是指向头的哈!!!! 或者以初始化就指向头即可!!!!! /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public 阅读全文
posted @ 2019-08-20 16:19 高颖1995 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1.思路确实不好想: 尤其是下一个为* 的情况! 解这题需要把题意仔细研究清楚,反正我试了好多次才明白的。 首先,考虑特殊情况: 1>两个字符串都为空,返回true 2>当第一个字符串不空,而第二个字符串空了,返回false(因为这样,就无法 匹配成功了,而如果第一个字符串空了,第二个字符串非空,还 阅读全文
posted @ 2019-08-20 14:54 高颖1995 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 1.个人觉得牛客网这个答案比较容易理解 思路:用for循环遍历: 判断各种会出错的情况 报false;如果能过五关斩六将走到最后,那么就是true 注意判断顺序!! 1)e后面应该接数字 (如果e是最后一个数,报错) 2)不能同时存在两个e 3)+ - 所在的位置,只可可能位于首位或者位于e后面; 阅读全文
posted @ 2019-08-20 11:47 高颖1995 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 调整数组顺序使奇数位于偶数前面 1. 顺序保持不变 其实这个包含了顺序变化的 输入一个整数数组,实现一个函数来调整该数组中数字的顺序, 使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 这个方法很好: 就是用容器 直接把偶数从里面删除 阅读全文
posted @ 2019-08-20 10:29 高颖1995 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 1 阅读全文
posted @ 2019-08-19 23:10 高颖1995 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 1.知道这里为什么while一直调一次打印一次了吗 因为传进去的是字符串指针 字符串是变化的了 其实永远都是末位在动动动的 好强的逻辑性 看了好久才看懂!! 全排列还是没看懂。。。。。 阅读全文
posted @ 2019-08-19 21:05 高颖1995 阅读(163) 评论(0) 推荐(0) 编辑