同步操作将从 Gitee Community/bullshit-codes 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
public class LinkList<T> {private static class Node<T>{Node<T> next;T data;Node(Node<T> next, T data) {this.next = next;this.data = data;}@Overridepublic String toString() {if(data == null) {return "null";}else {return data.toString();}}}private Node<T> header,tail;private int size;/*** 添加节点* @param data*/public void addNode(T data) {/** 此处装逼失败本来应该这样写的null==header && tail==null本代码写法导致* 每次调用addNode方法的时候导致tail重新赋值到header上检查的时候只关注是否等于null而没有关注到赋值* 从而导致链表元素变少,但是size正确* */if(null==(header = tail)) {header = tail = new Node<T>(null, data);}else {tail.next = new Node<>(null, data);tail = tail.next;}size++;}/*** 反转链表*/public void revorse(){if(size == 0 || size == 1) {return;}tail = header;Node<T> pre = null;Node<T> curNode = header;Node<T> nextNode = header.next;while(nextNode != null) {curNode.next = pre;pre = curNode;curNode = nextNode;nextNode = curNode.next;}curNode.next = pre;header = curNode;}@Overridepublic String toString() {Node<T> curNode = header;if(curNode == null) {return "null";}StringBuilder datas = new StringBuilder();T data = curNode.data;if(data == null) {datas.append("null");}else {datas.append(data.toString());}Node<T> next = curNode.next;while(next != null) {data = next.data;if(data == null) {datas.append("null");}else {datas.append(data.toString());}next = next.next;}return datas.toString();}public static void main(String[] args) {LinkList<String> ls = new LinkList<>();ls.addNode("a");ls.addNode("b");ls.addNode("c");ls.addNode("d");System.out.println(ls);ls.revorse();System.out.println(ls);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。