Java 链表
明天一定. 人气:0题目一
解法
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public int getDecimalValue(ListNode head) { int[] arr = new int[31]; int index = 0; int ans = 0; while(head!=null){ arr[index] = head.val; index++; head = head.next; } for(int i = 0;i<index;i++){ if(arr[i]==1){ ans+=(1<<(index-1-i)); } } return ans; } }
题目二
解法
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public int[] reversePrint(ListNode head) { int index = 0; ListNode h = head; while(head!=null){ head = head.next; index++; } int[] arr = new int[index]; while(h!=null){ arr[index-1] = h.val; index--; h = h.next; } return arr; } }
题目三
解法
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode node = new ListNode(-1); ListNode ans = node; while(l1!=null&&l2!=null){ if(l1.val<=l2.val){ node.next = l1; l1 = l1.next; }else{ node.next = l2; l2 = l2.next; } node = node.next; } if(l1!=null){ node.next = l1; } if(l2!=null){ node.next = l2; } return ans.next; } }
加载全部内容