`
javatome
  • 浏览: 847101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

66.颠倒栈。

 
阅读更多

66.颠倒栈。
题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5}1在栈顶。
颠倒之后的栈为{5, 4, 3, 2, 1}5处在栈顶。

VB.NET codes as below:

Module Module1

Sub Main()

Dim myStack = New Stack(Of Integer)

myStack.Push(1)

myStack.Push(2)

myStack.Push(3)

myStack.Push(4)

myStack.Push(5)

myStack.Push(6)

myStack.Push(7)

myStack.Push(8)

myStack.Push(9)

myStack = ReserveStack(myStack)

For Each item In myStack

Console.WriteLine(item)

Next

Console.ReadKey()

End Sub

Public Function ReserveStack(Of T)(ByVal currentStack As Stack(Of T)) As Stack(Of T)

If currentStack.Count > 1 Then

Dim lastItem As T = GetLastItem(Of T)(currentStack)

ReserveStack(currentStack)

currentStack.Push(lastItem)

End If

Return currentStack

End Function

Private Function GetLastItem(Of T)(ByVal currentStack As Stack(Of T)) As T

Dim lastItem As T

If Not currentStack.Count = 1 Then

Dim item As T = currentStack.Pop()

lastItem = GetLastItem(currentStack)

currentStack.Push(item)

Else

Return currentStack.Pop()

End If

Return lastItem

End Function

End Module

分享到:
评论

相关推荐

    C语言实现颠倒栈的方法

    在C语言中,实现颠倒栈的操作涉及到对栈这一数据结构的基本操作,包括入栈、出栈以及递归等编程技巧。栈是一种后进先出(LIFO, Last In First Out)的数据结构,通常用于临时存储和处理数据。在本例中,我们将探讨...

    linxid#Leetcode_Python#190. 颠倒二进制位1

    示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释:

    66--[颠倒黑白].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码

    66--[颠倒黑白].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码66--[颠倒黑白].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码66--[颠倒黑白].zip源码scratch2.0 3.0编程项目源文件源码案例素材源...

    世界500强面试题.pdf

    1.2.3. 设计包含 min 函数的栈 ...................................................................... 14 1.2.4. 求子数组的最大和.............................................................................

    190. 颠倒二进制位

    题目描述 思路一 用一个变量res存储结果, 依次得到要转换数字的低位,然后保存在res中,res每得到一位后进行左移腾出一位用来保存下一位。 一个例子 原数字 1011 ,res = 0 res 左移一位,res = 0, ...

    LeetCode 190. 颠倒二进制位(位运算)

    颠倒二进制位(位运算)】这个问题要求我们反转一个32位无符号整数的二进制位。这是一个典型的位操作问题,通常涉及位移、与、或等操作。让我们深入探讨这个问题的解决方案以及相关知识点。 首先,了解位运算的...

    蓝桥杯,颠倒的价牌.txt

    根据给定的信息,本文将对“蓝桥杯,颠倒的价牌”这一问题进行详细的解析,包括题目的背景、核心算法以及代码实现等方面。 ### 一、蓝桥杯简介 蓝桥杯是一项全国性的软件与信息技术专业人才大赛,旨在促进软件和...

    颠倒链表.cpp

    颠倒链表.cpp

    颠倒文本使用例程

    在IT领域,文本处理是一项基础且重要的任务,而“颠倒文本”则是一种常见的文本操作,主要用于各种场景,如搜索引擎的倒排索引、数据预处理或者编程中的字符串操作等。下面我们将深入探讨这个主题。 首先,让我们...

    大班语言课教案《颠倒歌》.docx

    《颠倒歌》以其独特的表达方式,不仅能够让大班幼儿在游戏般的氛围中感受到语言的韵律与节奏,更能引导他们对事物特征进行深入的认知。本篇教案详细介绍了如何利用这首颠倒歌来实现幼儿多方面能力的提升。 活动目标...

    幼儿园大班语言:颠倒歌.pdf

    《幼儿园大班语言:颠倒歌》就是这样一个充满智慧和趣味的教学案例。它不仅让孩子们在欢声笑语中学习新知识,还培养了他们的创造力和团队合作精神。 课程伊始,教师便通过对比两支铅笔,巧妙地引入了反义词的概念。...

    颠倒歌.doc

    《颠倒歌》是一首富有创意和趣味性的儿童语言学习材料,主要针对幼儿教育阶段的孩子。活动设计旨在通过这首歌谣帮助孩子们感受语言的节奏韵律,同时了解和学习动物的特性,并激发他们对语言游戏的兴趣。 活动的目标...

    K66管脚0.txt

    reverse(反转,颠倒) resist(反抗,抵抗)   4.表示“更加”的意思,用作加强语气,该用法较少 例如:  recommend(推荐) 2 前缀de-   1.前缀de-来自拉丁语,意为"away from",表示...

    语言:颠倒歌.doc

    语言:颠倒歌.doc

    1-元素前后颠倒.cpp

    1-元素前后颠倒.cpp

    幼儿园教案2021-故事与儿歌:颠倒歌.doc

    【教案名称】:故事与儿歌——颠倒歌 【设计背景与意图】: 本教案的设计灵感来源于《幼儿园教育指导纲要》中的理念,旨在通过幽默诙谐的“颠倒歌”来激发幼儿的学习兴趣,让他们在愉快的氛围中理解和接受反常、...

    颠倒二进制(java代码).docx

    根据给定文件的信息,本文将深入探讨如何在Java中实现32位无符号整数的二进制位颠倒,并进一步讨论如何通过查表法优化该算法。 ### 一、基本实现方法 #### 问题背景 给定一个32位无符号整数,任务是颠倒它的二进制...

    易语言源码易语言读写注册表颠倒屏幕源码.rar

    易语言源码易语言读写注册表颠倒屏幕源码.rar 易语言源码易语言读写注册表颠倒屏幕源码.rar 易语言源码易语言读写注册表颠倒屏幕源码.rar 易语言源码易语言读写注册表颠倒屏幕源码.rar 易语言源码易语言读写...

    大班语言:颠倒世界.doc

    《大班语言:颠倒世界》是一次针对幼儿设计的语言教育活动,旨在通过讲述故事《颠倒世界》激发孩子们的想象力和创新思维。这个活动基于孩子们天生的好奇心,特别是他们喜欢从不同角度观察事物的天性。活动的初衷是...

Global site tag (gtag.js) - Google Analytics