leetcode之旅(9)-Reverse Linked List

来源:互联网 发布:园林设计用什么软件 编辑:程序博客网 时间:2024/05/18 00:27

题目描述:

Reverse a singly linked list.click to show more hints.Hint:A linked list can be reversed either iteratively or recursively. Could you implement both?Subscribe to see which companies asked this question

分析:

注意这个数据结构,这是一个链表,要求颠倒顺序。考虑设置两个变量,来表示相邻的两个节点one和two,首先把头节点的next设置null,先取得three = two.next然后one= two.next。取得往后移动。one= two ,two= three

代码:

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public ListNode reverseList(ListNode head) {          if (head == null)              return null;          if (head != null && head.next == null)              return head;          ListNode fis = head;          ListNode sed = head.next;          fis.next = null;          while (sed != null) {              ListNode thd = sed.next;              sed.next = fis;              fis = sed;              sed = thd;          }          return fis;      }  }
0 0
原创粉丝点击