北京高端企业网站建设中国造价工程建设监理协会网站

张小明 2026/1/16 23:11:39
北京高端企业网站建设,中国造价工程建设监理协会网站,网站关键词搜索排名怎么做,wordpress增加背景图片一、目的1. 掌握栈后进先出的核心特性#xff0c;理解利用栈判断回文字符串的原理#xff1b;2. 掌握Java集合中 LinkedList 的使用#xff0c;理解其模拟栈的两种实现方式#xff1b;二、实验步骤与常见问题及解决过程1.解释使用栈判断回文的原理1.1回文的定义#xff1a…一、目的1. 掌握栈后进先出的核心特性理解利用栈判断回文字符串的原理2. 掌握Java集合中 LinkedList 的使用理解其模拟栈的两种实现方式二、实验步骤与常见问题及解决过程1.解释使用栈判断回文的原理1.1回文的定义回文是指一个字符串正读和反读完全一致如 abba、abcba。1.2栈的特性后进先出。1.3用栈判断回文的核心思路利用栈的反转特性将所有字符压入栈再依次取出可以达到逆转字符串的功能最后将得到的字符串与原字符串进行对比。1.4实验步骤1入栈将字符串的每个字符依次压入栈中2出栈对比将栈中的字符依次弹出与原字符串的字符从头开始逐一比对3结果判断若所有字符都匹配则是回文若任意位置不匹配则不是回文。2.使用LinkedList中的哪些方法来代替入栈与出栈2.1方法一栈顶对应 LinkedList 的尾部用 addLast 和 removeLast 方法2.1.1代码展示import java.util.LinkedList; import java.util.Scanner; public class Main { public static void main(String[] args) { // 创建扫描器接收用户输入 Scanner scanner new Scanner(System.in); System.out.print(请输入待判断的字符串); String input scanner.nextLine(); // 调用回文判断方法 boolean isPalindrome checkPalindrome(input); // 输出判断结果 if (isPalindrome) { System.out.println(input 是回文字符串); } else { System.out.println(input 不是回文字符串); } scanner.close(); } public static boolean checkPalindrome(String str) { // 1. 初始化LinkedList模拟栈 LinkedListCharacter stack new LinkedList(); // 2. 入栈将字符串每个字符添加到链表尾部 for (int i 0; i str.length(); i) { stack.addLast(str.charAt(i)); } // 3. 出栈对比弹出尾部字符模拟pop与原字符串从头比对 for (int i 0; i str.length(); i) { char popChar stack.removeLast(); // 栈空时removeLast会抛异常但str长度匹配时不会触发 if (popChar ! str.charAt(i)) { return false; // 任意字符不匹配直接返回false } } return true; } }2.1.2运行结果展示1回文字符串测试2非回文字符串测试2.2方法二栈顶对应 LinkedList 的头部用 push 和 pop 方法2.2.1 代码展示import java.util.LinkedList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner new Scanner(System.in); System.out.print(请输入待判断的字符串); String input scanner.nextLine(); // 调用回文判断方法 boolean isPalindrome checkPalindrome(input); // 输出判断结果 if (isPalindrome) { System.out.println(input 是回文字符串); } else { System.out.println(input 不是回文字符串); } scanner.close(); // 关闭扫描器释放资源 } public static boolean checkPalindrome(String str) { LinkedListCharacter stack new LinkedList(); // 入栈push()加到链表头部 for (int i 0; i str.length(); i) { stack.push(str.charAt(i)); } // 出栈pop()取出逆序序列与原字符串的正序比对 for (int i 0; i str.length(); i) { char popChar stack.pop(); // 直接和原字符串的第i位进行对比 if (popChar ! str.charAt(i)) { return false; } } return true; } }2.2.2 运行结果展示1回文字符串测试2非回文字符串测试三、实验小结3.1学习思考一开始把 LinkedList 中的 push 和 pop 方法与 C STL 的 stack 中的 push 和 pop 函数混为一谈了stack 中的 push 是向底层容器的尾部压入元素pop 是从底层容器的尾部弹出元素于是理所当然认为 LinkedList 中的 push 和 pop 方法也是对链表的尾部进行操作。但其实事实是LinkedList 的 push 和 pop 方法是对链表的头部进行操作原理是 LinkedList 实现了 Deque双端队列接口而 Deque 对栈的模拟遵循头部为栈顶的约定。3.2学习记录LinkedList模拟栈的核心方法对照表方法底层调用作用对应栈操作push(E e)addFirst(e)把元素加到链表头部入栈pop()removeFirst()移除并返回链表头部元素出栈peek()getFirst()获取头部元素不删除查看栈顶栈的核心是后进先出栈顶不论是对应链表的头部还是尾部只是具体实现细节只要入栈和出栈的位置一一匹配就能保证栈的核心特性。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网络建站公司wordpress 办公主题

FaceFusion结合Stable Diffusion生成更逼真人脸:技术深度解析在数字内容创作的浪潮中,一个看似简单却长期困扰开发者的问题始终存在:如何让AI生成的人脸既“像本人”,又“足够真实”?我们见过太多案例——Stable Diffu…

张小明 2026/1/15 11:50:31 网站建设

做公司网站的南宁公司电子商务网站开发实存内容

还在为OFD文件无法正常查看而烦恼吗?Ofd2Pdf就是你的救星!这款专业的OFD转换工具能够快速将OFD文件转换为PDF格式,完美保留原始文档的所有细节。无论你是办公人员、学生还是文档管理者,这篇完整教程都将让你在5分钟内成为转换高手…

张小明 2026/1/9 4:26:30 网站建设

免费网站建设ppt模板下载wordpress发文章套模版

Klipper固件:重新定义3D打印性能边界的完整指南 【免费下载链接】klipper Klipper is a 3d-printer firmware 项目地址: https://gitcode.com/GitHub_Trending/kl/klipper Klipper作为一款革命性的3D打印机固件,通过创新的异构计算架构和先进运动…

张小明 2026/1/15 11:56:43 网站建设

帮企业做网站做短租公寓民宿网站

LobeChat 能否连接 Airtable?轻量级后台管理系统集成 在 AI 应用快速落地的今天,一个常见但棘手的问题浮出水面:我们有了强大的大语言模型,也部署了美观流畅的聊天界面,可一旦涉及“记录留存”、“任务追踪”或“团队协…

张小明 2026/1/7 3:53:00 网站建设

织梦网站后台密码忘记了怎么做郑州网站建设更好

从零开始搭建领域知识问答系统——Kotaemon全教程 在企业智能化转型的浪潮中,一个反复被提及却又难以真正落地的命题是:如何让 AI 真正“懂”你的业务?客服场景中,用户问“我的订单为什么还没发货”,系统却只能回复通用…

张小明 2026/1/8 8:53:28 网站建设

网站建设如何推广最容易被收录的网站

碧蓝航线Perseus终极指南:3步解锁游戏全新体验 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus Perseus是一款专为碧蓝航线设计的脚本补丁库,通过原生库文件为游戏注入全新活力。这…

张小明 2026/1/8 7:27:00 网站建设