链表--逆时针旋转一个链表
逆时针旋转一个链表
题目:给定一个链表和一个位置k,k代表第几个元素。k位置之后的的元素逆时针旋转到前面,k位置之前的元素(包含k位置元素)旋转到后面。假定k小于链表的长度,如果k大于等于链表的长度,那么不对链表做改动。
思路:先找到k位置处的节点,这个节点将是新链表的头,然后继续向后遍历链表找到尾部节点,使尾部节点指向原先链表的头节点。
//因为要改变链表头,所以要传入头节点的引用
void rotate(ListNode **head_ref,int k)
{if(k <= 0) return;ListNode *current = *head_ref;for(int i=0;i<k-1 && current != NULL;i++){current = current->next;}//current为NULL说明,k过长if(current == NULL)return;ListNode *kthNode = current;//循环完毕后current即时最后一个元素了while(current->next != NULL){current = current->next;}//将最后一个元素指向原链表的头current->next = *head_ref;//将kthNode的下一个节点最为新链表的头节点*head_ref = kthNode->next;kthNode->next = NULL;
}
链表--逆时针旋转一个链表相关推荐
- 将两个有序链表合并为一个链表任然有序C语言
将两个有序链表合并为一个链表任然有序,两个链表都是从大到小或者从小到大. 方法: 1.将两个链表连起来,对所有元素进行排序. 2.因为两个链表的长度可能不同,则将两链表相同长度的一部分进行排序,将较长 ...
- 【Java】环形链表 ( 给定一个链表,判断链表中是否有环)
题目描述 :给你一个链表的头节点 head ,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,评测系统内部使用整数 po ...
- 反转链表:输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。...
2019独角兽企业重金招聘Python工程师标准>>> 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点. 为了正确的反转一个链表,需要调整链表 ...
- 环形链表。给定一个链表,判断链表中是否有环。(GO、PHP)
给定一个链表,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引 ...
- java链表交集并集,一个链表求集合并集交集的异常
C/C++ code//求并集的函数: void bingji(mylist*p,mylist*q,mylist*&r)//r作为并集列表的头指针,p,q是输入的两个指针 { mylist * ...
- 链表之判断一个链表是否为回文结构(一)
package com.zuo.linkedlist;import java.util.Stack;import com.zuo.linkedlist.Josephuskill2.Node;/*** ...
- python列表输出学生姓名学号链表_建立一个链表,记录学生的姓名,学号和成绩,
展开全部 public class StudentPerson { /// /// 实例化一个新的学生e69da5e887aa3231313335323631343130323136353331333 ...
- leetcode C++ 25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
一.思路: 先实现两个节点翻转,再实现k个节点翻转,最后实现一组一组翻转 二.C++代码: class Solution { public:ListNode* swap(ListNode *f1, L ...
- 链表之判断一个链表是否为回文结构(三)
package com.chenyu.zuo.linkedList;import com.chenyu.zuo.linkedList.PrintCommonPart.Node;/*** 题目:给定一个 ...
最新文章
- MySQL-MMM实现MySQL高可用
- 什么样的数据适合缓存?
- 产品说,我只需要一个有亿点复杂的查询界面
- IBASE 不能被编辑
- idea工具debug断点红色变成灰色
- 【英语学习】【WOTD】trivial 释义/词源/示例
- SQL SERVER的字段类型说明
- 华为回应关于“获政府巨额补贴”报道;最高法:微信微博聊天记录可作为证据;GoLand 2020.1 路线图公布 | 极客头条...
- Python 三种过滤去重方法
- Android NFC标签读写 配置 过滤器总结 各类NFC数据类型NfcA NfcB IsoDep MifareClassic读取
- ArcGIS获取点图层对应栅格图层的栅格行列号(或属性值)
- 后盾网ThinkPHP教程许愿墙源码及后台管理模版下载
- python爬虫--王者荣耀高清壁纸下载
- 16岁初中生开发的软件,强大到令人发指!
- 南京邮电大学java实验报告_南京邮电大学java第二次实验报告
- 谓语动词语态和时态相结合
- Linux 静态IP,动态IP配置
- 用电力猫实现无线IPTV
- GIF录屏软件下载及使用
- 选择Seo老域名的方法