Guest User

Untitled

a guest
Jan 23rd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. 1using System;
  2.  
  3. class Solution
  4. {
  5. public class Node
  6. {
  7. public int key;
  8. public Node left;
  9. public Node right;
  10. public Node parent;
  11. }
  12.  
  13. public static int findLargestSmallerKey(Node rootNode, int num) // given 17, find 14
  14. {
  15. if(rootNode == null) // false
  16. {
  17. return -1;
  18. }
  19.  
  20. var visitNode = rootNode; // 20
  21. var largestSmaller = -1;
  22.  
  23. while(visitNode != null) // true
  24. {
  25. if (visitNode.key < num) // 20 < 17 false, 9 < 17 , 12 < 17 , 14 < 17
  26. {
  27. largestSmaller = visitNode.key; // 8 , 12, 14
  28.  
  29. visitNode = visitNode.right; // node 12, node 14, null
  30. }
  31. else
  32. {
  33. visitNode = visitNode.left; // node 9
  34. }
  35. }
  36.  
  37. return largstSmaller; // n14
  38. }
  39.  
  40. static void Main(string[] args)
  41. {
  42.  
  43. }
  44. }
  45.  
  46. /*
  47.  
  48. 14 --> 12
  49. 5 9 11 12 14 20 25
  50. |
  51.  
  52. given 17, find larest smaller BST key
  53. 14
  54. left side ->
  55. 20 > 17
  56. |
  57. 9 < 17 , 9 largest, I am not sure
  58.  
  59. go to right
  60. |
  61. 12 < 17
  62.  
  63. 14 < 17
  64.  
  65. 14.right == null -> largest one is 14
  66.  
  67.  
  68. */
Add Comment
Please, Sign In to add comment