相似题目:

Palindrome Number

Valid PalinDrome

Reverse Linked List

Palindrome Linked List

翻转单链表(要注意的是是否含有头结点):

思路一:每次将第一个节点后的那个节点放到第一个位置。若无头结点,则额外需要一个指针记录首节点。

代码:

/**
* 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.next == null)
return head;
ListNode h = head;
while(head.next!=null){
ListNode p = head.next;
head.next = p.next;
p.next = h;
h = p;
}
return h;
}
}

思路二:额外创建新的空间,用一个指针遍历原来链表,每次将新建的节点插入到新链表的开始位置,代码:

      public static ListNode reverseList1(ListNode head) {
//每次都是将第一个节点后面的节点放到头结点后面
if(head == null)
return null;
if(head.next==null)
return head; ListNode h = new ListNode(head.val); while(head.next!=null){
ListNode t = new ListNode(head.val);
t.next = h;
head = head.next;
}
return h;
}

若有头结点:

思路一:

      public static ListNode reverseList(ListNode head) {
//每次都是将第一个节点后面的节点放到头结点后面
if(head == null)
return null;
ListNode p = head.next;
while(p.next!=null){
ListNode q = p.next;
p.next = q.next;
q.next = head.next;
head.next = q;
}
return head;
}

思路二:

      public static ListNode reverseList1(ListNode head) {
//每次都是将第一个节点后面的节点放到头结点后面
if(head == null)
return null;
if(head.next==null)
return head; ListNode h = new ListNode(-1);
h.next=null;
ListNode p = head.next;
while(p!=null){
ListNode t = new ListNode(p.val);
t.next = h.next;
h.next = t;
p = p.next;
}
return h;
}

LeetCode--Reverse Linked List(Java)的更多相关文章

  1. LeetCode 5215. 黄金矿工(Java)DFS

    题目: 5215. 黄金矿工 你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注.每个单元格中的整数就表示这一单元格中的黄金数量:如果该 ...

  2. LeetCode 5073. 进击的骑士(Java)BFS

    题目:5073. 进击的骑士 一个坐标可以从 -infinity 延伸到 +infinity 的 无限大的 棋盘上,你的 骑士 驻扎在坐标为 [0, 0] 的方格里. 骑士的走法和中国象棋中的马相似, ...

  3. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  4. 【leetcode】Reverse Linked List(easy)

    Reverse a singly linked list. 思路:没啥好说的.秒... ListNode* reverseList(ListNode* head) { ListNode * rList ...

  5. LeetCode Reverse Linked List (反置链表)

    题意: 将单恋表反转. 思路: 两种方法:迭代和递归. 递归 /** * Definition for singly-linked list. * struct ListNode { * int va ...

  6. [LeetCode]28.实现strStr()(Java)

    原题地址: implement-strstr 题目描述: 实现 strStr() 函数. 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字 ...

  7. [LeetCode]7. 整数反转(Java)

    原题地址: reverse-integer 题目描述: 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [−2^31,  ...

  8. LeetCode 328——奇偶链表(JAVA)

    给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1),时 ...

  9. LeetCode 160——相交链表(JAVA)

    编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB ...

随机推荐

  1. js中String 转化为 Date

    <script> var s=["2008-8-1","2009/9/2","10/3/2010"]; for(var i=0; ...

  2. LINUX SSH 建立密钥对

    配置私钥和公钥 先检查一下服务器的ssh配置文件 /etc/ssh/sshd_config RSAAuthentication yes # 启用 RSA 认证 默认为 yes PubkeyAuthen ...

  3. 帆软中使用switch将控件的显示值“传递”给单元格

    如下图,控件的实际值和显示值是我们自定义的. 当我们选择控件时,想要在某个单元格内显示控件的显示值.一般我们在单元格内直接 $控件名  可以获得控件值.比如当我们选择事故数时,我们自然不能在单元格内直 ...

  4. python递归函数(计算阶乘)

    def f1(x,x1=1): if x == 1: return x1 #x1这个值为我们所需要的值,所以返回 x1 *= x r = f1(x-1,x1) #r接收返回值,并在下面接着返回 ret ...

  5. linux实现DNS轮询实现负载平衡

    DNS 轮询机制会受到多方面的影响,如:A记录的TTL时间长短的影响:别的 DNS 服务器 Cache 的影响:windows 客户端也有一个DNS Cache.这些都会影响 DNS 轮询的效果.因此 ...

  6. n点游戏

    n点游戏 24点游戏是非常经典而简单的小游戏,从一堆扑克牌中抽取4张,向其中添加运算符号并使其运行结果恰等于24,这叫作24点游戏. 现在我们不再是组合24,而是组合出给定的数字n,但要求只可以利用任 ...

  7. 003---socket介绍

    socket介绍 什么是socket? socket是应用层与tcp/ip协议族通信的中间软件抽象层,它是一组接口.在设计模式中.其实就是一个门面模式.我们无需深入理解tcp/udp协议,socket ...

  8. 最短路径算法 4.SPFA算法(1)

    今天所说的就是常用的解决最短路径问题最后一个算法,这个算法同样是求连通图中单源点到其他结点的最短路径,功能和Bellman-Ford算法大致相同,可以求有负权的边的图,但不能出现负回路.但是SPFA算 ...

  9. Python爬虫之JS异步加载

    一.判断异步加载方式(常用的JS库) 1. jQuery(70%) # 搜索 jquery 茅塞顿开 <script src="http://ajax.googleapis.com/a ...

  10. P1991 无线通讯网

    P1991 无线通讯网 题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫 ...