C語言數(shù)據(jù)結(jié)構(gòu)旋轉(zhuǎn)鏈表的實現(xiàn)
C語言數(shù)據(jù)結(jié)構(gòu)旋轉(zhuǎn)鏈表的實現(xiàn)
實例:
給出鏈表1->2->3->4->5->null和k=2
返回4->5->1->2->3->null
分析:
感覺很直觀,直接把分割點(diǎn)找出來就行,記得k可能大于len,要取模
代碼:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
/**
* @param head: the list
* @param k: rotate to the right k places
* @return: the list after rotation
*/
ListNode *rotateRight(ListNode *head, int k) {
// write your code here
if(head==NULL)
return head;
int len = 0;
ListNode*temp = head;
while(temp)
{
len++;
temp = temp->next;
}
k%=len;
if(k==0)
return head;
k = len-k;
temp = head;
while(k>1)
{
temp = temp->next;
k--;
}
ListNode*newStart = temp->next;
temp->next = NULL;
temp = newStart;
while(temp->next)
temp = temp->next;
temp->next = head;
return newStart;
}
};
以上就是C語言數(shù)據(jù)結(jié)構(gòu)旋轉(zhuǎn)鏈表的實現(xiàn),如有疑問請留言或者到本站社區(qū)交流討論,本站關(guān)于數(shù)據(jù)結(jié)構(gòu)的文章還有很多,希望大家搜索查閱,大家共同進(jìn)步!
- C語言數(shù)據(jù)結(jié)構(gòu)之中綴樹轉(zhuǎn)后綴樹的實例
- C語言數(shù)據(jù)結(jié)構(gòu)實現(xiàn)銀行模擬
- C語言數(shù)據(jù)結(jié)構(gòu) 快速排序?qū)嵗斀?/a>
- C語言數(shù)據(jù)結(jié)構(gòu)實現(xiàn)鏈表去重的實例
- C語言 數(shù)據(jù)結(jié)構(gòu)鏈表的實例(十九種操作)
- C語言數(shù)據(jù)結(jié)構(gòu)之棧簡單操作
- C語言數(shù)據(jù)結(jié)構(gòu)之雙向循環(huán)鏈表的實例
- C語言數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表的簡單實例
- C語言數(shù)據(jù)結(jié)構(gòu)算法之實現(xiàn)快速傅立葉變換
- C語言中數(shù)據(jù)結(jié)構(gòu)之鏈?zhǔn)交鶖?shù)排序
相關(guān)文章
C語言中十六進(jìn)制轉(zhuǎn)十進(jìn)制兩種實現(xiàn)方法
這篇文章主要介紹了C語言中十六進(jìn)制轉(zhuǎn)十進(jìn)制兩種實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-01-01
CString,字符串,整數(shù)等相互轉(zhuǎn)換方法(推薦)
下面小編就為大家?guī)硪黄狢String,字符串,整數(shù)等相互轉(zhuǎn)換方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
Qt中QSettings配置文件的讀寫和應(yīng)用場景詳解
這篇文章主要給大家介紹了關(guān)于Qt中QSettings配置文件的讀寫和應(yīng)用場景的相關(guān)資料,QSettings能讀寫配置文件,當(dāng)配置文件不存在時,可生成配置文件,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
c++中的volatile和variant關(guān)鍵字詳解
大家好,本篇文章主要講的是c++中的volatile和variant關(guān)鍵字詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01
C++動態(tài)規(guī)劃中關(guān)于背包問題講解
可能有些讀者有接觸過動態(tài)規(guī)劃,可能也有一些讀者以前完全不知道動態(tài)規(guī)劃這個東西,別擔(dān)心,我這篇文章會為讀者做一個入門,好讓讀者掌握這個重要的知識點(diǎn)2023-03-03
C++開發(fā)的Redis數(shù)據(jù)導(dǎo)入工具優(yōu)化
這篇文章主要介紹了C++開發(fā)的Redis數(shù)據(jù)導(dǎo)入工具優(yōu)化方法的相關(guān)資料,需要的朋友可以參考下2015-07-07
C++如何在一個函數(shù)內(nèi)返回不同類型(三種方法)
C++?中要在一個函數(shù)內(nèi)返回不同類型的值,你可以使用?C++17?引入的?std::variant?或?std::any,或者使用模板和多態(tài),下面將分別介紹這些方法,需要的朋友可以參考下2023-12-12

