请帮我看看下面的代码有问题吗如果没有问题请优化如果已经够好了就不用优化如果有问题请指出并更改public class ReverseNode public static class ListNode public int value; public ListNode next; public ListNodeint
代码看起来没有问题,但是可以进行一些优化:
- 可以添加空指针判断,如果链表为空则直接返回null。
- 可以在链表反转后将新的头结点返回,方便使用。
- 可以将链表的打印功能封装成一个方法,提高代码的可读性。
优化后的代码如下:
public class ReverseNode {
public static class ListNode {
public int value;
public ListNode next;
public ListNode(int value) {
this.value = value;
}
@Override
public String toString() {
return String.valueOf(value);
}
}
public static ListNode reverseNode(ListNode head) {
if (head == null) {
return null;
}
ListNode prev = null;
ListNode node = head;
while (node != null) {
ListNode nextNode = node.next;
node.next = prev;
prev = node;
node = nextNode;
}
return prev;
}
public static void printLinkedList(ListNode head) {
ListNode node = head;
while (node != null) {
System.out.print(node + " ");
node = node.next;
}
}
public static void main(String[] args) {
ListNode head = new ListNode(1);
head.next = new ListNode(2);
head.next.next = new ListNode(3);
ListNode reversedHead = reverseNode(head);
printLinkedList(reversedHead);
}
}
``
原文地址: https://www.cveoy.top/t/topic/igg3 著作权归作者所有。请勿转载和采集!