leecode--链表对折
面试中问了一个链表对折的问题,写的完全不着边。后来百度了一下,自己根据原理重新写了一下。
package leecode;public class FoldLinkedList {public static void main(String[] args) {Node node1 = new Node(1);Node node2 = new Node(2);Node node3 = new Node(3);Node node4 = new Node(4);Node node5 = new Node(5);Node node6 = new Node(6);Node node7 = new Node(7);node1.next = node2;node2.next = node3;node3.next = node4;node4.next = node5;node5.next = node6;node6.next = node7;Node head = node1;traverseList(head);//使用快慢指针,找到中间对折处节点Node fast, slow;fast=slow=node1;while(fast.next!=null && fast.next.next!=null){fast = fast.next.next;slow = slow.next;}//slow是中间节点,list2是第二个链表。Node list2 = slow.next;slow.next = null;//将第二个链表反转Node head2 = reverseList(list2);//将list2插入到list1中Node head1, temp,temp2;head1 = node1;// traverseList(head1);
// traverseList(head2);while(head1 != null && head2 != null){temp = head1.next;temp2 = head2.next;head1.next = head2;head2.next = temp;head1 = temp;head2 = temp2;}head = node1;traverseList(head);}//遍历链表public static void traverseList(Node head){System.out.println("***********list output**************");while(head != null){System.out.println(head.value);head = head.next;}}public static Node reverseList(Node head){Node pre, cur, temp;pre=null;cur=head;while(cur != null){temp = cur.next;cur.next = pre;pre = cur;cur = temp;}return pre;}//
}class Node{int value;Node next;Node(int value){this.value = value;}
}
leecode--链表对折相关推荐
- Leetcode 143 链表对折
思路: 1. 通过快慢指针,一个步长为1, 一个步长为2, 找到链表中点. 2. 前/后 半段链表反转. 3. 与另一半链表归并插入. class Solution:def reorderList(s ...
- 链表之判断一个链表是否为回文结构(二)
package com.zuo.linkedlist;import java.util.Stack;import com.zuo.linkedlist.IsPalindrome1.Node;/*** ...
- 字节跳动3月面试遇到的高频算法题
本文汇总了牛客2021.3.1~2021.3.30 面经考到的Leetcode题目 最终的高频题榜单数据可以在CodeTop题库(https://codetop.cc)查询,支持按部门.岗位分类筛选. ...
- 2019年BET公司面试题目大汇总
[1]百度提前批一面(c++开发): 1.关键字static作用,函数加static和不加static区别 2.const关键字作用,const和宏定义有什么区别,用哪个?(宏定义太多会导致代码膨胀) ...
- 左神数据结构与算法(基础)——表、树、图、贪心、递归
2.1 哈希表.有序表.单链表和双链表 ①哈希表的简单介绍 1>哈希表在使用层面可以理解为一种集合结构. 2>如果只有key,没有伴随数据value,可以使用HashSet结构 3> ...
- 2021秋招 NLP算法岗面经
春招面了阿里和微信积攒了一些面试经验,春招只要拿到offer也不用面太多.秋招就面得比较多,包括:字节.微信.百度.华为.美团.拼多多.快手.虾皮(shopee),也都拿到了offer. 一.春招实习 ...
- insertion Sort List (链表的插入排序) leecode java
逻辑简单,代码难写,基础不劳,leecode写注释不能出现中文,太麻烦,我写了大量注释,链表问题最重要的就是你那个指针式干啥的 提交地址https://oj.leetcode.com/problems ...
- Leecode 21. 合并两个有序链表——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...
- Leecode19. 删除链表的倒数第 N 个结点——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...
最新文章
- mysql内置多个数据存储引擎_一个mysql数据库,既有myisam存储引擎,又有innodb存储引擎,参数如...
- DirectoryEntry所有字段对应解释
- new String(123) 创建了几个对象?
- oracle sde 安装失败,sde无法安装案例
- Java语言中的----数组
- 路飞学城-Python爬虫集训-第一章
- PCWorld 评选 52 个超实用网站
- 关于EFM32下的w25q256的使用
- android+反编译加广告,追书神器Android版,反编译去广告基本教程
- Nature:我叫“P值” 这是我的故事
- 2013年MBA、MPA、MPAcc入学考试综合能力辅导教材
- linux中cpu使用率命令,LINUX下查看CPU使用率的命令
- Harris角点检测,及其Matlab和OpenCV实现
- 日语截图翻译软件(百度ocr+python3+pyqt5)
- 2010年9月2号安排~
- 检测图中的负循环 | (贝尔曼福特)
- strcat函数的用法
- Mobius反演总结
- 成矿远景叠加分析matlab代码,深水潭金成矿地质特征及成矿远景分析
- php实现bigpipe
热门文章
- 基于PHP+小程序(MINA框架)+Mysql数据库的小说小程序系统设计与实现
- HDU1814 Peaceful Commission 2SAT
- CG原画绘画教程之人物-张聪-专题视频课程
- ECDSA数字签名算法
- 双目立体视觉几何框架详解
- 为什么说“水果焦虑”是个伪命题?
- 多元统计分析及R语言建模(第五版)——第6章 判别分析课后习题
- Mac电脑如何使用时间机器进行备份?
- 微信考勤签到 php,【投稿】微信签到打卡领积分源码,每日积分签到
- python从入门到实践答案博客园_Python编程:从入门到实践——【作业】——第四章(操作列表)...