摘要:
设计一个能够获取当前栈最小值的栈 问题描述 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作,要求pop、push、getMin 操作的时间复杂度都是 O(1)。 解题思路 使用两个栈来实现这一功能,一个普通栈stackData,一个能获取最小值的栈stackMin 阅读全文
摘要:
适配器模式 从字面意思来看就是,一种东西去适配另一种东西。通俗地讲,适配器模式就是将两个不兼容的接口放在一起工作,那么什么是不兼容?举个简单栗子,大家用的笔记本都带有适配器,它的作用就是将我们的交流电220V电压转换成电脑的工作电压,使得家用电压能够适配电脑,二者协同工作,这就是生活中的适配器模式。 阅读全文
摘要:
二叉树序列化和反序列化 二叉树的序列化和反序列其实很简单。序列化可以暴力的理解为将一颗形象的树型结构压扁成链型结构,这个链型结构可以想象成一列火车,这列火车可以用队列表示,里面每节车厢存储了二叉树的各个节点值和辅助信息(方便反序列); 反序列就是将火车车厢里的东西倒出来,根据其进入车厢的顺序,将节点 阅读全文
摘要:
归并排序 归并的意思就是说将多个有序表(两个或以上)合并成一个新的有序表。 归并排序的思路 归并排序采用分治思想,其解决思路为: 将一个长度为n的数组通过二分的方式进行划分,直到划分为长度为1的有序子表; 然后两两合并,并对两个子序列进行排序; 合并两个已排好序的子序列得到最终排序结果。 实现原理如 阅读全文