206.Reverse Linked List

实现单链表的反转

思想:如果是没有元素或一个元素,直接return 头结点
其他情况:
首先让p=head.next,然后让head结点的next为空。
然后依次取出p结点往head前插入即可。

  • java
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        //如果没有元素或只有一个元素
        if(head==null||head.next==null){
            return head;
        }else{
            ListNode p=head.next;
            head.next=null;
            while(p!=null){
                ListNode pre=p;
                p=p.next;
                pre.next=head;
                head=pre;
            }
            return head;
        }
       
        
    }
}
  • javascript
/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @return {ListNode}
 */
var reverseList = function(head) {
      //如果没有元素或只有一个元素
        if(head===null||head.next===null){
            return head;
        }else{
            let p=head.next;
            head.next=null;
            while(p!=null){
                let pre=p;
                p=p.next;
                pre.next=head;
                head=pre;
            }
            return head;
        }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容