打卡001/这是一篇软文
时间:2022-07-22
本文章向大家介绍打卡001/这是一篇软文,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
好久写的一篇文章了,最近也都没有发文章,不过刚刚翻阅草稿文章,觉得这篇文章可以发出来吊打一下曾经的自己,哈哈,毕竟那个时候会的技术真的不够,嘿嘿,略微反思一下过去的自己,谁又不是从过去的自我认知中慢慢认清自己,认清现实呢?那么就来回忆回忆一下链表翻转这个题了,略微怀念那个惦着书去往课堂上课的我,下面看下如何Stack栈这种数据结构实现链表数据翻转的。
全程都是示例程序,但是注释都很明确了,所以不做过多的文字说明了。
package com.wpw.springbootjuc.java8.map;
import lombok.extern.slf4j.Slf4j;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Stack;
/**
* 链表如何翻转?
*
* @author wpw
*/
@Slf4j
public class LinkedListReverseTest {
public static void main(String[] args) {
log.info("author[{}]创建链表", "wpw");
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
linkedList.add(4);
log.info("输出未翻转的链表数据:[{}]", linkedList.size());
acceptDataAndPrint(linkedList);
System.out.println();
Stack<Integer> stack = reverseLinkedList(linkedList);
log.info("输出翻转链表后的数据:[{}]", stack.size());
acceptStackDataAndPrint(stack);
}
/**
* 循环输出栈的数据
*
* @param stack 栈数据
*/
private static void acceptStackDataAndPrint(Stack<Integer> stack) {
if (!stack.isEmpty()) {
while (!stack.isEmpty()) {
System.out.print(stack.pop() + "t");
}
}
}
/**
* @param linkedList 链表数据
* @return 存储翻转后的链表数据的Stack
*/
private static Stack<Integer> reverseLinkedList(LinkedList<Integer> linkedList) {
Stack<Integer> stack = new Stack<>();
if (!linkedList.isEmpty()) {
Iterator<Integer> iterator = linkedList.iterator();
while (iterator.hasNext()) {
stack.push(iterator.next());
}
}
return stack;
}
/**
* 循环输出链表数据
*
* @param linkedList 链表数据
*/
private static void acceptDataAndPrint(LinkedList<Integer> linkedList) {
linkedList.stream().forEachOrdered(x -> System.out.print(x + "t"));
}
}
输出的结果信息:
输出未翻转的链表数据:[4]
1 2 3 4
输出翻转链表后的数据:[4]
4 3 2 1
以上关于链表是如何翻转的就到这里结束了。
越来越喜欢写文字了以及画一些图,最近读了几篇文章之后,觉得平凡的生活很好,认清现实,认清自己,平凡,自律,坚持都成了自己生活里不可或缺的一部分了,成长的过程中性格难免会随着外在的事物有所改变,但戒急戒躁,保持善良的同时,内心也要学会逢人说话,做事恰当,不对不正当言论进行评价早已深入内心,文字可以记录自己和自己喜欢的人,言语却不能,留存记忆,珍惜过往点滴,青年文摘或者读者这样的文章中也不止一次提到过与其临渊羡鱼,不如退而结网,与其羡慕别人,不如发现自己本身所拥有的,保持内心对美好事物的追求的同时也要去伪存真以防假恶丑的面具,这就是最近读了几篇文章之后觉得还是用文字沉淀一下,毕竟思考本没有错误,无论正确与否,刻意在乎,没有意义,路很长,对每个阶段进行总结和梳理就是对未来的自己形成一段不可或缺的回忆
- 洛谷 P1019 单词接龙【经典DFS,温习搜索】
- MVCforum 支持多国语言
- BZOJ 1012: [JSOI2008]最大数maxnumber【线段树单点更新求最值,单调队列,多解】
- BZOJ 1303: [CQOI2009]中位数图【前缀和】
- 高斯消元模版
- HDU 1728 逃离迷宫(DFS经典题,比赛手残写废题)
- 洛谷 P1219 八皇后【经典DFS,温习搜索】
- KVM基于内核的虚拟机概念理解与客户机浅析
- 洛谷 P1972 [SDOI2009]HH的项链【莫队算法学习】
- BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】
- 在 EF 5 中跟踪SQL和缓存数据
- hihoCoder #1015 : KMP算法【KMP裸题,板子】
- 对X86汇编的理解与入门
- BZOJ 2748: [HAOI2012]音量调节【二维dp,枚举】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 居民身份证阅读器产品开发学习心得(再谈标准-软件-协议)
- Spring Data REST不完全指南(一)
- Cocos2d-js中的简易MVC框架(五)MVC框架的使用
- [译]谈谈SpringBoot 事件机制
- C++ 模板沉思录(下)
- Cocos2d-js中的简易MVC框架(四)显示层View
- 如何在去中心化交易所中(DEX)集成0x协议
- Spring Data REST不完全指南(二)
- Cocos2d-js中的简易MVC框架(三)中介者Mediator
- Cocos2d-js中的简易MVC框架(二)数据模型Model
- Python 还能实现图片去雾?FFA 去雾算法、暗通道去雾算法用起来! | 附代码
- 探秘计算机视觉中的注意力机制
- 采用 Vue 编写的功能强大的 Swagger-ui 页面
- Spring Data REST不完全指南(三)
- Spark Kafka 基于Direct自己管理offset