文和906
文和906
全部文章
题解
未归档(4)
项目笔记(5)
归档
标签
去牛客网
登录
/
注册
文和906的博客
全部文章
/ 题解
(共7篇)
题解 | #翻转单词序列#
难度较低的题目。在经历了前面的字符串处理地狱之后,这种题目我看过之后心里毫无波澜,甚至还有点想笑w。言归正传,总体的思路是:将string作为char[]遍历,遇到空格则切词,并将切下的词入栈。最后按出栈顺序将字符串拼好即可。需要注意空格的处理方式,这里我的做法是每次切词都加上空格,对头尾特殊处理。...
C++
字符串
栈
2021-10-12
0
380
题解 | #栈的压入、弹出序列#
审题后从输入序列和输出序列入手,发现规律:当两个元素在输入序列中的先后顺序与在输出序列中一致时,在这两个数之后输入的数必不可能在这两个数之前输出。围绕这一发现,设计算法逻辑:用一个辅助数组seq来储存输入序列的元素在输出序列中的位置,如seq[0]则表示输入序列中第一个元素在输出序列中的位置。遍历s...
C++
栈
2021-10-12
0
399
题解 | #包含min函数的栈#
需求是在基本栈的功能上增加一个min的功能。 这里选择增加一个栈用于维护最小值,暂且称它为最小栈。 每次push时检查最小栈,为空则直接入最小栈,否则将入原始栈元素与栈顶元素比较,若入原始栈元素小于等于最小栈栈顶元素,则也将其入最小栈。之所以等于时也要入最小栈,是因为相等说明前面有一个同样数据的结点...
C++
栈
2021-10-12
0
383
题解 | #从尾到头打印链表#
递归遍历链表,倒序输出。 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) {...
C++
链表
栈
2021-09-29
0
324
题解 | #大数加法#
使用大数加法的常规解法,模拟笔算加法的过程。从字符串末尾开始相加,将相加的结果入栈。计算完后将栈中元素逐次出栈,并添加到结果字符串末端即可。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 ...
C++
栈
2021-09-29
0
421
题解 | #两个链表生成相加链表#
最开始的想法十分简单,读取两个链表,将链表保存的数据转为用int存储,然后相加,再存入结果链表中。代码如下。题目中给出的两个测试用例轻松通过。在我自信满满的点下提交后,第一个用例就没通过。事实证明我还是想的太简单了。 /** * Definition for singly-linked list....
C++
栈
链表
2021-09-29
0
305
题解 | #表达式求值#
经典的中缀表达式求值。常用思路,将其转为后缀表达式,边转边求值。后缀表达式的特点,遇到运算符则将前两个数拿出来运算,便于计算机计算。这里简单描述一下算法过程:遍历字符串,当读到的是数字时,直接将其压入数字栈。当读到的是运算符时,若符号栈为空,则直接将其压入符号栈;若符号栈非空,则判断符号栈栈顶的运算...
C++
栈
2021-09-28
8
669