Skip to main content

https://leetcode.com/problems/merge-two-sorted-lists/submissions/ soultion in both c++ and JavaScript easy question if you know linked list

 Merge two linked list solution in c++

--------------------------------------------------------------------------------------------------------------------

c++
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        ListNode *tempNode=new ListNode();
//create a new node
        ListNode *head=tempNode; //create a new head and assign new node to head
        while(list1 && list2) //until list1 or list2 not null
        {
            if(list1->val<list2->val)
            {
                tempNode->next=list1; //list one node value
                list1=list1->next;
            }else
            {
                tempNode->next=list2;//list two node value
                list2=list2->next;
            }
            tempNode=tempNode->next; 
        }
        if(list1!=nullptr)
        {
            tempNode->next=list1;
        }else
        {
                tempNode->next=list2;
        }
        return head->next;
    }
};

//also other solution in JavaScript which does not seems to be good one
-------------------------------------------------------------------------------------------------------------
/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} l1
 * @param {ListNode} l2
 * @return {ListNode}
 */
var mergeTwoLists = function(l1, l2) {
   var arr=[];
   let currentNode=l1;
    while(currentNode!=null)
        {
            arr.push(currentNode.val);
            currentNode=currentNode.next;
        }
    currentNode=l2;
     while(currentNode!=null)
        {
            arr.push(currentNode.val);
            currentNode=currentNode.next;
        }
    arr.sort((a,b)=>{ return a-b});
    let head=null;
    let tail=null;
    for(let i=0;i<arr.length;i++)
     {
        let node=new  ListNode(arr[i]);
         if(head==null)
             {
                head=node;
                 tail=node;
                  
             }else
                 {
                    tail.next=node;
                     tail=node;
                 }
         
           
     }
    return head;
};

Comments

Popular posts from this blog

Better Memory management with PixiJS or How to manage cpu and cpu memory in PixiJS.

PixiJS is my favorite framework when i am looking for a web games specially for mobile or desktop  PixiJS is fast blazing fast and you can get a decent FPS even on older device.   so here is my optimization techniques for PixiJs 1. manage your sprites in a better way use spritesheet to reduce the draw calls create big sprite sheet which contain multiple sprites can be draw in gpu with a single draw call. use TexturePacker  https://www.codeandweb.com/texturepacker  best tool when its comes to spritesheet 2. for floating point calculation round off calculation for example let  speed = 0.75 ; let  position = 100 ; console . log ( Math . round ( speed * position )) 3. don't create very big canvas when u need a big canvas size game just try to create a small canvas and translate it. 4. its very important one managing TextureCache in memory you can get all TextureCache list by using  Object.entries(PIXI.utils.TextureCache); so even you use ap...

adding particles Effect in pixijs using https://pixijs.io/pixi-particles-editor/

adding particle in pixijs is very easy using the below tool more information can be found below https://github.com/pixijs/pixi-particles https://pixijs.io/pixi-particles-editor/ required packages  /// < reference path = "node_modules/pixi-particles/ambient.d.ts" /> import 'pixi-particles' code of particle delcare a     global variable   private emitter ?: Emitter ; const img = PIXI . Texture . from ( "./assets/images/particle.png" ); this . emitter = new Emitter ( this ,[ img ],{ "alpha" : { "start" : 0.62 , "end" : 0.39 }, "scale" : { "start" : 0.1 , "end" : 0.9 , "minimumScaleMultiplier" : 1.25 }, "color" : { "start" : "#ffff8f" , "end" : ...