lintcode :链表插入排序
生活随笔
收集整理的這篇文章主要介紹了
lintcode :链表插入排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
鏈表插入排序
用插入排序對鏈表排序
樣例Given?1->3->2->0->null, return?0->1->2->3->null
解題:
感覺很簡單,但是沒有寫出來,鏈表的操作還不行的,九章程序。
Java程序:
/*** Definition for ListNode.* public class ListNode {* int val;* ListNode next;* ListNode(int val) {* this.val = val;* this.next = null;* }* }*/ public class Solution {/*** @param head: The first node of linked list.* @return: The head of linked list.*/public ListNode insertionSortList(ListNode head) {// write your code hereListNode dummy = new ListNode(0);while (head != null) {ListNode node = dummy;while (node.next != null && node.next.val < head.val) {node = node.next;}ListNode temp = head.next;head.next = node.next;node.next = head;head = temp;}return dummy.next;} } View Code總耗時:?2735?ms
Python程序:
""" Definition of ListNode class ListNode(object):def __init__(self, val, next=None):self.val = valself.next = next """ class Solution:"""@param head: The first node of linked list.@return: The head of linked list.""" def insertionSortList(self, head):# write your code hereif head == None:return headp = ListNode(0)while head!=None:node = pwhile node.next!=None and node.next.val<head.val:node = node.nexttmp = head.nexthead.next = node.nextnode.next = head head = tmpreturn p.next View Code?
總結
以上是生活随笔為你收集整理的lintcode :链表插入排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中进行用户UID测试导致系统报
- 下一篇: python 面向对象(进阶篇)