剑指offer
每天记一点0__0
这个作者很懒,什么都没留下…
展开
-
剑指offer-从尾到头打印链表
题目描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。解题思路:递归方法:如链表1->2->3->4,先递归考虑链表2->3->4,然后在返回结果中添加1;一层层递归下去,当链表为null时,直接返回空的容器。栈方法:遍历一遍链表,将数值压入栈中;然后将栈中的所有元素弹出,并添加到ArrayList容器中。代码如下:C++版本/***...原创 2020-01-02 22:50:33 · 110 阅读 · 0 评论 -
剑指offer-替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路:先统计字符串的长度oldLen,同时也统计出空格的个数cnt,新字符串的长度为oldLen+cnt*2。采用一前一后两个指针,前面指向旧字符串的末尾,后面指向新字符串的末尾。然后从后往前遍历旧字符串, 遇到非空格字符...原创 2019-10-08 22:36:27 · 102 阅读 · 0 评论 -
剑指offer-二位数组的查找
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:由于元素有一定的顺序特点,可以从左下角或者右上角的元素开始与target进行比较。这里我选择从左下角开始,当a[row][col] > target时,那么target一定出现在...原创 2019-10-08 22:09:58 · 94 阅读 · 0 评论