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