当前位置: 首页 > 后端技术 > Java

LeetCode-206-ReverseLinkedList

时间:2023-04-01 17:04:22 Java

ReverseLinkedList题目描述:给你单链表的头节点head,请反转链表,返回反转的链表。例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。方案一:迭代首先,如果head为null或者head只有一个节点,直接返回head;否则声明两个参数first和second分别为head的第一个和第二个节点,然后遍历链表:declaretemp为second的下一个节点;将第二个的下一个指向第一个(反向);first指向second,second指向temp(同时回退,处理下一个节点);当second为null时,表示已经遍历到链表的尾部,此时遍历结束,first为遍历后新的头节点。publicclassLeetCode_206{publicstaticListNodereverseList(ListNodehead){if(head==null||head.next==null){returnhead;}ListNodefirst=head,second=head.next;第一个.下一个=空;while(first!=null&&second!=null){ListNodetemp=second.next;第二个.下一个=第一;第一=第二;第二=温度;}先返回;}publicstaticvoidmain(String[]args){ListNodehead=newListNode(1);head.next=newListNode(2);head.next.next=newListNode(3);head.next.next.next=newListNode(4);head.next.next.next.next=newListNode(5);ListNoderesult=reverseList(head);while(result!=null){System.out.print(result.val+"");结果=结果.下一个;}}}【每日留言】总有一天,你会站在最亮的地方,过上你曾经向往的生活。