总结 定义三个类似指针的引用,一个指向当前节点,一个指向前一个节点,初始化为null,一个指向后一个节点 判定反转链表的头节点的依据是当前节点的下一个节点为null…
分类:剑指offer
【剑指offer】1-10题
1.赋值运算函数 思路: 将返回值类型声明为该类型的引用 把传入的参数类型声明为常量引用 释放实例自身已有的内存 判断传入的参数和当前的实例是不是同一个实例 2.单例设计模式 思路及代码实现请参考:单例设计模式代码实现 …
剑指offer三十三之丑数
一、题目 如果一个数的因子中,出去1和本身以外,质数因子只包含2、3和5,则把改数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质数因子7。 习惯上我们把1当做是第一个丑数。求按从小到…
剑指offer四十之数组中只出现一次的数字
一、题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 二、思路 建一个hashMap,统计各数字出现的次数,然后遍历hashMap,输出出…
包含MIN函数的栈+一个数组实现两个堆栈+两个数组实现MIN栈
1.题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 思路:利用一个辅助栈来存放最小值 栈 3,4,2,5,1 辅助栈 …
剑指offer十之矩形覆盖
一、题目 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 二、解答思路 如果第一步选择竖方向…
剑指offer六十之按之把二叉树打印成多行
一、题目 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。二、思路 队列LinkedList完成层序遍历,用end记录每层结点数目 三、代码 im…
O(1)时间删除链表中的节点 13
将当下一个节点的data和nextNode拷贝到当前节点,即完成删除 但不能用deleteNode=deleteNode.nextNode 这样是让指针循环下移 &…
实现字符串的库函数
char* _strcpy(char* dest, const char* src) { assert(dest != NULL && src != NULL); if (dest == src) ret…
整数转化为字符串
自己写一个函数实现类似库函数itoa的功能,将整数转化为字符串。 整数转汉字,表示货币量。 1、代码: 1 char *IntToStr(int num, char str[]) 2 { 3 int i = 0, j =…
剑指offer五十六之删除链表中重复的结点
一、题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->…
剑指Offer解题报告(Java版)——排序数组中某个数的个数 38
分析问题 问题只需要找到排序数组中某个数K的个数,由于已经是排序了,K一定是在一堆的,所以我们只需要找到第一个K的index1,然后找到最后一个K的index2就可…