Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. class Node {
  2. constructor(value, next = null) {
  3. this.value = value;
  4. this.next = next;
  5. }
  6. }
  7.  
  8. function removeDups(node) {
  9. if(node === null) return null;
  10.  
  11. let nodes = new Map();
  12. let current = node.next;
  13. let prev = node;
  14. nodes.set(node.value, 1);
  15.  
  16. while(current !== null) {
  17. if(nodes.get(current.value) === 1) {
  18. prev.next = current.next;
  19. } else {
  20. nodes.set(current.value, 1);
  21. prev = current;
  22. }
  23. current = current.next;
  24. }
  25. return node;
  26. }
  27.  
  28. function removeDups(node) {
  29. while(node !== null) {
  30. let current = node;
  31. while(current.next !== null) {
  32. if(current.next.value === node.value) {
  33. current.next = current.next.next;
  34. } else {
  35. current = current.next;
  36. }
  37. }
  38. node = node.next;
  39. }
  40. }
  41.  
  42. function print(node) {
  43. while(node !== null) {
  44. console.log('->' + node.value);
  45. node = node.next;
  46. }
  47. }
  48.  
  49.  
  50. let node1 = new Node(1);
  51. let node2 = new Node(2);
  52. let node3 = new Node(3);
  53. let node4 = new Node(2);
  54. let node5 = new Node(1);
  55.  
  56.  
  57.  
  58. node1.next = node2;
  59. node2.next = node3;
  60. node3.next = node4;
  61. node4.next = node5;
  62. node5.next = null;
  63.  
  64. print(removeDups(node1));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement