便利的龙岗网站设计,廊坊网站制作费用,什么网站上做效果图可以赚钱,网站建设优化制作公司题目#xff1a;给你一个链表的头节点 head #xff0c;旋转链表#xff0c;将链表每个节点向右移动 k 个位置。 题目链接#xff1a;61. 旋转链表 截断拼接即可
class Solution {public ListNode rotateRight(ListNode head, int k) {if(headnull||k0){return head;}List…题目给你一个链表的头节点 head 旋转链表将链表每个节点向右移动 k 个位置。 题目链接61. 旋转链表 截断拼接即可
class Solution {public ListNode rotateRight(ListNode head, int k) {if(headnull||k0){return head;}ListNode pointhead;int len0;while(point!null){len;pointpoint.next;}int offset len-k%len;if(offsetlen){return head;}int i1;ListNode before head;ListNode afterhead;while(ioffset){afterafter.next;i;}ListNode newheadafter.next;ListNode point2newhead;after.nextnull;int numk%len;while(num1){point2point2.next;num--;}point2.nextbefore;return newhead;}
}题目给你一个链表的头节点 head 和一个特定值 x 请你对链表进行分隔使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 题目链接86. 分隔链表
模拟即可
class Solution {public ListNode partition(ListNode head, int x) {ListNode smlDummy new ListNode(0), bigDummy new ListNode(0);ListNode sml smlDummy, big bigDummy;while (head ! null) {if (head.val x) {sml.next head;sml sml.next;} else {big.next head;big big.next;}head head.next;}sml.next bigDummy.next;big.next null;return smlDummy.next;}
}