
广义表/嵌套结构
Czy_whlg
不忘本心!
展开
-
Decode String
1. 解析 题目大意,对字符串进行解码,前面的数字是中括号[ ]中字符串出现的次数 2. 分析 这种结构就是嵌套结构,一般解析嵌套结构的字符串,都需要用到栈,或者用递归求解,不过我个人认为迭代的方式求解更简单一点,因为递归有时候不是很好调试。我处理的方式复杂一点,我用pair键值对保存后面中括号中字符串出现的次数和对应的字符串,例如3[abc],pair对即为[3, "abc"],也可以...原创 2019-12-11 19:16:46 · 366 阅读 · 0 评论 -
Longest Absolute File Path
1. 解析 题目大意,求解最长的文件路径。 2. 分析 参考@Grandyang的博客,该题的难点在于如何记录当前的目录深度和对应的目录长度,字符串由'a-z','.','\n','\t'4种不同的字符组成,'.'代表当前为文件,换行符'\n'代表下一层目录开始的标记,空格符'\t'表示目录的深度,为避免重复检测,用hashmap记录当前目录的深度和对应的目录长度,每一层的状态只有两种...原创 2019-12-10 18:59:46 · 146 阅读 · 0 评论 -
Flatten Nested List Iterator
1. 解析 题目大意,将嵌套数组按照访问顺序表示成一维数组。 2. 分析 要借助栈结构,需要注意的一点是,每次加载元素的时候要从后往前添加,栈是后进先出的,之所以不适合采用队列结构,是因为逐个访问的过程实际上就是递归的过程,所以栈是最合适的。具体详见代码~ /** * // This is the interface that allows for creating nested...原创 2019-12-10 17:34:31 · 126 阅读 · 0 评论 -
Mini Parser
1. 解析 题目大意,解析给定字符串,返回嵌套数组(数组当中的每个元素为一个单独的数字或者一个数组) 2. 分析 嵌套表(广义表)的结构体相关的操作已经给出,我们只需调用所给定的方法对字符串进行解析,字符串包含3种不同的字符:[ '数字', '[', ']' ],'['是下一层开始的标记,']'是下一层结束的标记。为了能回溯到上一层,利用栈进行存储。对字符串进行遍历,当检测到'[',意味...原创 2019-12-10 17:10:56 · 339 阅读 · 0 评论