
剑指offer
文章平均质量分 51
w还是晒太阳吧
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 05. 替换空格
剑指 Offer 05. 替换空格 题目描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例: 输入:s = "We are happy." 输出:"We%20are%20happy. 我的第一反应下的解答思路: 既然要将字符串中的空格替换掉,首先就是要找到字符串中所有空格的索引,先将这些索引值存储起来,然后按照索引的位置将字符串分隔成若干个子串,然后用"%20"将这些子串拼接起来。 实现: #include<iostream> #include<string>原创 2021-11-19 13:53:30 · 89 阅读 · 0 评论 -
剑指 offer 06. 从尾到头打印链表
剑指 offer 06. 从尾到头打印链表 问题: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 辅助栈法 题目中最明显的字眼就是是从尾到头,所以我一开始就想到用栈来存储链表中的值。 首先遍历链表中的每一个节点。最开始head是链表的头指针,每一次遍历将head更新为head->next,并将head->value也就是这个节点的值存到预设的栈中;整个遍历过程的终止条件为head == NULL。遍历完后栈中,因为栈的特点是先入后出,所以从栈顶到栈尾存到值的顺序就是链表中原创 2021-11-18 22:37:44 · 650 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列 题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 我的解法也是最笨的解法: 考虑要使用两个栈实现一个队列,栈的特点是先进后出,队列的特点是先进先出,添加队尾比较简单,直接添加到栈中就行了,最麻烦的就是怎么获取队首元素,因为往栈中添加元素的时候,前面的元素在栈底,获取队首元素时要将上原创 2021-11-19 19:50:07 · 106 阅读 · 0 评论