lintcode :Partition List 链表划分】的更多相关文章

题目: 链表划分 给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前. 你应该保留两部分内链表节点原有的相对顺序. 样例 给定链表 1->4->3->2->5->2->null,并且 x=3 返回 1->2->2->4->3->5->null 解题: 上面返回的结果好多不对的应该是: 1->2->2->3->4->5->null 想了好久不知道怎么搞,九章看到的程序,竟然搞…
题目 数组划分 给出一个整数数组nums和一个整数k.划分数组(即移动数组nums中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k. 您在真实的面试中是否遇到过这个题? Yes 样例 给出数组nums=[3,2,2,1]和 k=2,返回 1 注意 你应该真正的划分数组nums,而不仅仅只是计算比k小的整数数,如果数组nums中的所有元素都比k小,则返回nums.length. 挑战 要求在原地使用O…
注意,题目要求要保持两部分的相对顺序,所以,用交换是不行的. import java.util.HashSet; import java.util.Set; class ListNode{ int val; ListNode next; ListNode(int x){ val = x; } } public class Solution{ public static void main(String[] args){ ListNode head = new ListNode(3); head.…
[题目] Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. You should preserve the original relative order of the nodes in each of the two partitions. For example,Given 1->4->3-…
题目描述 我的代码 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { /* * @param head: a ListNode * @param val: An integer * @return: a ListNode */ publ…
问题分析: 声明当前指针和上一个指针即可. 问题求解: public class Solution { public ListNode removeElements(ListNode head, int val) { ListNode preListNode = new ListNode(0);// 上一个指针 ListNode nowListNode = head;// 当前指针 ListNode returnListNode = null;// 需要返回的链表 preListNode.nex…
Given an array "nums" of integers and an int "k", Partition the array (i.e move the elements in "nums") such that, * All elements < k are moved to the left * All elements >= k are moved to the right Return the partition…
题目 删除链表中等于给定值val的所有节点. 样例 给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5. 解题 加入头结点进行删除 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; }…
题目 给你一个链表以及两个权值v1和v2,交换链表中权值为v1和v2的这两个节点.保证链表中节点权值各不相同,如果没有找到对应节点,那么什么也不用做. 注意事项 你需要交换两个节点而不是改变节点的权值 样例 给出链表 1->2->3->4->null ,以及 v1 = 2 , v2 = 4返回结果 1->4->3->2->null. 解题 交换值的方式 /** * Definition for singly-linked list. * public cla…
带环链表 给定一个链表,判断它是否有环. 解题 定义两个指针p1 p2 p1每次向前走一步 p2每次向前走两步 当p2能赶上p1的时候说明有环 /** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ public class Solution…