Skip to content

Commit 3bd97b1

Browse files
committed
Merge pull request #1 from bilong/patch-1
Patch 1
2 parents d89626a + 678bebf commit 3bd97b1

File tree

2 files changed

+27
-50
lines changed

2 files changed

+27
-50
lines changed

190 Reverse Bits.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
// Leetcode #190
22
// Language: Javascript
33
// Problem: https://leetcode.com/problems/reverse-bits/
4-
// Author: Chihung Yu
4+
// Author: Bilong HUANG
55
/**
66
* @param {number} n - a positive integer
77
* @return {number} - a positive integer
88
*/
99
var reverseBits = function(n) {
10-
var result = 0;
10+
var s = n.toString(2).split(""), c="";
1111

12-
for(var i = 0; i < 32; i++){
13-
result <<= 1;
14-
result |= n & 1;
15-
n >>= 1;
12+
for(i=0; i<32; i++){
13+
if ((s[s.length-1-i] == "0") || (s[s.length-1-i] == "1"))
14+
c = c + s[s.length-1-i];
15+
else c = c + "0";
1616
}
1717

18-
return Math.abs(result);
19-
};
18+
return parseInt(c, 2);
19+
};

2 Add Two Numbers.js

Lines changed: 19 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
2+
* Author: Bilong HUANG
23
* Definition for singly-linked list.
34
* function ListNode(val) {
45
* this.val = val;
@@ -11,51 +12,27 @@
1112
* @return {ListNode}
1213
*/
1314
var addTwoNumbers = function(l1, l2) {
14-
if(l1 === null || l2 === null){
15-
return l1 || l2;
16-
}
17-
18-
var result = new ListNode(0);
19-
var cur = result;
20-
var p = l1;
21-
var q = l2;
22-
var carry = 0;
15+
var result, node_current, node, add = 0;
2316

24-
while(p || q){
25-
var qval;
26-
var pval;
27-
28-
if(q){
29-
qval = q.val;
30-
q = q.next;
31-
} else {
32-
qval = 0;
33-
}
34-
35-
if(p){
36-
pval = p.val;
37-
p = p.next;
38-
} else {
39-
pval = 0;
40-
}
17+
while ( l1 || l2 ) {
18+
node = new ListNode((l1 ? l1.val : 0) + (l2 ? l2.val : 0) + add);
4119

42-
var val = qval + pval + carry;
20+
if ( add = Math.floor(node.val / 10))
21+
node.val = node.val % 10;
22+
23+
if (result == null)
24+
result = node;
25+
else
26+
node_current.next = node;
4327

44-
if(val > 9){
45-
carry = 1;
46-
val %= 10;
47-
} else {
48-
carry = 0;
49-
}
28+
if (l1) l1 = (l1.next ? (l1 = l1.next) : null);
29+
if (l2) l2 = (l2.next ? (l2 = l2.next) : null);
5030

51-
cur.next = new ListNode(val);
52-
cur = cur.next;
31+
node_current = node;
5332
}
5433

55-
if(carry !== 0){
56-
cur.next = new ListNode(1);
57-
}
58-
59-
return result.next;
60-
61-
};
34+
if (add !== 0)
35+
node_current.next = new ListNode(add);
36+
37+
return result;
38+
};

0 commit comments

Comments
 (0)