題目:給定兩個已知排好序的鍊錶,將兩鍊錶鏈結,構成的新鍊錶需要排好序
思路:從鍊錶開頭比較結點大小,若第一條煉表頭節點值不大於第二條,將第一鍊錶指標指向下乙個,若第一條鍊錶值大,將第二條鍊錶指標指向下乙個。最後將剩下未到末結點的鍊錶鏈結到新鍊錶!
**如下:
/**
* definition for singly-linked list.
* public class listnode
* }*/public class solution
else
result = result.next;
}if(l1!=null)
if(l2!=null)
return newhead.next;
}}
合併兩個排好序的鍊錶
typedef struct nodetag node typedef node pnode node combine node p1,node p2 while p1 null p2 null p1 valval p next p2 return head node build int a,int...
合併兩個己排好序的鍊錶及陣列
唉,這麼簡單的東西,說簡單是簡單,關鍵是要把這東西寫得好,老少兼知。應對所有測試用例,那就有點難了吧。話說天下之事,作於細。我們用圖來說說吧 看合併的步驟 1 2 3 4 源 ifndef combine two list h definecombine two list h include rev...
找出兩個已經排好序的陣列的中位數
問題 給兩個已經排好序的陣列,乙個長度為 m m 1 乙個長度為 n n 1 找出這兩個陣列的中位數。時間複雜度要求為 o m n 空間複雜度為 o 1 其實這個問題本身來講是不難的,關鍵的關鍵,是對一些邊界條件的處理。思路 我們首先判斷中位數的位置,如果 m n 為奇數,那麼中位數的位置是 第 m...