let A and B be 2 linked list. Make a copy of A(say C)such that data part of a node in C keeps the pointer to the next node in A. Reverse B. Keep traversing A and C simultaneously. If at any point the data part of C and next node pointer of A are different, then that is the required node.
start comparing the addresses at the point where the lists are at the same height(in this case at value 9 and 10) that's at list1.length-list2.length index. O(n) time.
Given an integer n, write a function that returns count of trailing zeroes in n!. Examples: Input: n = 5 Output: 1 Factorial of 5 is 20 which has one trailing 0. Input: n = 20 Output: 4 Factorial of 20 is 2432902008176640000 which has 4 trailing zeroes. Input: n = 100 Output: 24
Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "25525511135" , return ["255.255.11.135", "255.255.111.35"] . (Order does not matter)
let A and B be 2 linked list.
ReplyDeleteMake a copy of A(say C)such that data part of a node in C keeps the pointer to the next node in A.
Reverse B. Keep traversing A and C simultaneously. If at any point the data part of C and next node pointer of A are different, then that is the required node.
@jainendra try without using any extra space...
ReplyDeletestart comparing the addresses at the point where the lists are at the same height(in this case at value 9 and 10) that's at list1.length-list2.length index. O(n) time.
ReplyDeletecan you elaborate a little bit...
ReplyDelete