---恢复内容开始--- 使用递归函数逆序一个栈 题目:使用递归函数,不借助其他数据结构逆序一个栈. 我的思路:使用递归函数保存栈中变量. 递归函数分两个,一个获取并移除栈底元素,另一个负责逆序.其实俩个递归思路基本一致. 获取并移除栈底元素的递归结构图如下: 这个结构很清楚了.照着写就是代码了. 代码如下 int get_and_remove_last(stack<int>& s) { temp=s.top(); s.pop(); if(s.empty()) return temp;…
/** * 如何仅用递归函数和栈操作逆序一个栈 * 题目: * 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1. * 将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序, * 但是只能用递归函数来实现,不能用其他数据结构. * */ 方法一: 既然是递归,第一反应是采用两个栈实现该功能实现,依次弹出栈顶元素,然后压入另外一个栈中,代码如下:    import java.util.Stack;       public class StackR…
/// 取出栈底的数 func getAndRemoveLastElement(_ items: inout [Int]) -> Int { let value = items.remove(at: 0) if (items.isEmpty) { return value } let last = getAndRemoveLastElement(&items) items.insert(value, at: 0) return last } func reverse(_ items: ino…
前言: 因为JAVA和JS语言特性的不同,有些东西在JAVA中可能需要一些技巧和手段才能实现的复杂程序,但是在JS中可能就是天然存在的,所以这套书里面的题目不会全部用JS去实现一遍,因为可能JS的实现太过于简单,以至于写出来没有太多意义,而有些可能会实现结果和书中JAVA实现非常相似,而后者的话,我还是会重新用JS实现一遍,就当时练习敲代码了吧- 正文: [题目]一个栈依次压入1.2.3.4.5,那么从栈顶到栈底分别为5.4.3.2.1.将这个栈转置后,从栈顶到栈底为1.2.3.4.5,也就是实…
题目:给定一个正的三位整数,比如123,输出321,但如果是700,输出必须是7不能是007 思路是怎么样的呢? 假设这个正三位数是m,它的百分位是c,十分位是b,个位是a,那么就存在下面的等式. m=c*100+b*10+a*1 现在已知了m,只要知道c.b.a这三个数的值,那么我们直接按abc的顺序输出不就给逆序了吗? 那么怎么知道这三个数的值呢? 首先c是最好求的 c=m/100   //整除的结果就是百位数 利用相似的思路b的值也比较好求. b=(m%100)/10 //m对100取余之…
什么也不说, 直接上代码: 功能点有: 1, 获取尾结点 2, 添加(添加节点到链表的最后面) 3, 添加(根据节点的no(排名)的大小, 有序添加) 4, 单向链表的 遍历 5, 链表的长度 6, 删除某一个节点 7, 更换指定位置的节点 8, 查询第n个节点 9, 查询倒数第n个节点 10, 链表反转, 使用递归实现 11, 逆序打印 12, 合并二个有序链表, 且结果仍然是有序的 //英雄节点 class HeroNodeLv{ public int no;//英雄排名 public St…
Java排序一,冒泡排序! 刚刚开始学习Java,但是比较有兴趣研究算法.最近看了一本算法笔记,刚开始只是打算随便看看,但是发现这本书非常不错,尤其是对排序算法,以及哈希函数的一些解释,让我非常的感兴趣,就记录一下自己的学习总结! 排序:将一些无序的元素按照某种规则排列的过程就叫"排序".在生活中,有时候可能是一些少量的数据 ,,,但是 ,也有可能是 一些的大数据 .排序是非常基础和重要的算法,有着广泛的理论基础和实践需求.(加粗部分摘自<算法笔记>原话!:-D) 一个排序…
前言 以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获.每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢. 注:如果代码排版出现了问题麻烦通知我下,谢谢. [题目描述] 给定一个单链表的头节点head, 实现一个调整单链表的函数,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点. 例如: 链表:1->2->3->4->5->6->7->8->null, K = 3. 调整后:3-&g…
题目1525:子串逆序打印 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:3124 解决:530 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串的每个子串都打印反了,现在麻烦你帮小明将这些字符串中的子串修正过来,同时为了使卡片美观,压缩其中的连续空格为1个. 输入: 输入包含多个测试用例,每个测试用例的第一行是一个正整数 n,1=<n<=100000,代表卡片上字符串的长度.第二行输入长度为n的字符串(字符串仅包含小写…