摘要: 两个栈实现队列的思路: 队列的特点是的先进先出; 栈的特点是先进后出; 将数据存入栈1,再按其输出的特点存入栈2; 这样数据最后就可以实现先进先出的特点; 代码实现: 阅读全文
posted @ 2018-06-24 22:56 meteorst 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 链表的特点:查找效率较慢,插入和删除的效率较快 链表的数据结构: 将链表反转输出最直接的方法就是改变链表的结点指向: pre/cur/temp作为改变链表指向的三个指针,然后再遍历链表的过程中去改变结点的指向; 代码如下: 第二种方法可以用栈结构加循环来输出反转链表: 创建栈结构来保存结点,然后根据 阅读全文
posted @ 2018-06-24 18:57 meteorst 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: 若不考虑时间复杂度的情况,从前向后遍历,在原始的数组上进行操作,每当遇到空格,就将替换的字符插入,后面的字符向后移动,这样若存在o(n)个空格的话, 长度为o(n)的字符就会向后面进行o(n)次移动复制,时间复杂度为o(n^2); 若考虑时间复杂度,就需要减少频繁复制的次数,解决 阅读全文
posted @ 2018-06-24 15:35 meteorst 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: 查找的本质就是先指定一个初始值,把初始值与要查找的数进行比较,如果两个数相等,就返回true,否则初始值发生变化,继续与要查找的值进行比较,直到找到或找不到; 在本题中的二维数组中,数字的排序遵循从左向右增加,从上往下增加的规律,问题的关键在于如何选取适当的初始值,来简化查找的过 阅读全文
posted @ 2018-06-24 14:38 meteorst 阅读(95) 评论(0) 推荐(0) 编辑