File tree Expand file tree Collapse file tree 2 files changed +27
-50
lines changed Expand file tree Collapse file tree 2 files changed +27
-50
lines changed Original file line number Diff line number Diff line change 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 */
99var 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+ } ;
Original file line number Diff line number Diff line change 11/**
2+ * Author: Bilong HUANG
23 * Definition for singly-linked list.
34 * function ListNode(val) {
45 * this.val = val;
1112 * @return {ListNode }
1213 */
1314var 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+ } ;
You can’t perform that action at this time.
0 commit comments