-
Notifications
You must be signed in to change notification settings - Fork 0
TuPengXiong edited this page Jun 21, 2017
·
5 revisions
java 中 int 占4个字节 1个字节8个bit
1>>1 =0 ==>0000 0000 0000 0000 0000 0000 0000 0001
->0000 0000 0000 0000 0000 0000 0000 0000
=0
1<<1=2 ==>0000 0000 0000 0000 0000 0000 0000 0001
->0000 0000 0000 0000 0000 0000 0000 0010
=2
1>>>1=0 ==>0000 0000 0000 0000 0000 0000 0000 0001
->0000 0000 0000 0000 0000 0000 0000 0000
=0
-1>>>1=2147483647 ==>0000 0000 0000 0000 0000 0000 0000 0001
->反码 1111 1111 1111 1111 1111 1111 1111 1110
->移位 0111 1111 1111 1111 1111 1111 1111 1111
=2147483647
public class Solution {
public int[] twoSum(int[] nums, int target) {
int[] result = { 0, 0 };
if (nums.length >= 2) {
for (int i = 0; i < nums.length; i++) {
result[0] = i;
for (int j = i + 1; j < nums.length; j++) {
result[1] = j;
if (nums[i] + nums[j] == target) {
return result;
}
}
}
}
return result;
}
}
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int l1Val = l1.val;
int l2Val = l2.val;
ListNode returnNode = new ListNode((l1Val+l2Val)%10);
ListNode l1NextNode = l1.next;
ListNode l2NextNode = l2.next;
ListNode returnNextNode = returnNode;
int pre = (l1Val+l2Val)/10;
while(l1NextNode!=null || l2NextNode!=null){
l1Val = 0;
l2Val = 0;
if(l1NextNode != null){
l1Val = l1NextNode.val;
l1NextNode = l1NextNode.next;
}
if(l2NextNode != null){
l2Val = l2NextNode.val;
l2NextNode = l2NextNode.next;
}
returnNextNode.next = new ListNode((l1Val+l2Val+pre)%10);
pre = (l1Val+l2Val+pre)/10;
returnNextNode = returnNextNode.next;
}
if(l1NextNode == null && l2NextNode == null && pre>0){
returnNextNode.next = new ListNode((l1Val+l2Val+pre)/10);
}
return returnNode;
}
}