
剑指offer 刷题
ガッシュ·ベル
编程使我快乐!
展开
-
剑指offer-5.替换空格
测试地址 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路 首先遍历一次字符串,记录字符串的实际长度,和空格数目,接着计算出替换后新字符串的长度,然后用两个指针p和q分别指向原字符串尾地址和新字符串的尾地址,倒序遍历,遇到空格就让q向前走三步,否则就让q=p,直到p走到头。...原创 2019-02-01 10:53:15 · 151 阅读 · 0 评论 -
剑指offer-6.从尾到头打印链表
测试地址 题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 递归 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * };...原创 2019-02-03 17:42:20 · 111 阅读 · 0 评论 -
剑指offer-4.二维数组中的查找
测试地址 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路 可以考虑从二维数组的右上角或左下角查找,因为该二维数组的特点,每一行每一列,从左到右,从上到下,都是按照递增次序排的,所以要么是右面的数大,要么是下面的数大。如果右面的数大,就缩小...原创 2019-01-30 15:53:27 · 105 阅读 · 0 评论