guys who ever is confused with '^' in Stringbuilder it is to handle below kind of tree node TreeNode root = new TreeNode(12); TreeNode subRoot = new TreeNode(2); where 12 (tweleve) will be treated as 1,2 subtree as 2 it gives true to figure out item or data in node we are using ^ as seperator still if u need confirmation pls refer test case created by nikhil in description code and nikhil small suggestion pls explain or stick to same logic during dry run , this will give more clarification and reduces doubts , in last example no null were included in ur explanation rest vedio is very helpful thank you ❤
Whenever you put StringBuilder sb = new StringBuilder("^"); it passes the test cases but if you dont put the ^ it fails a single test case of root =[1,2] and subroot=[2] , can you explain why please? I think this is the same query that others trying to ask in the comment section
you code is not fully correct if there is root 12 and subroot 2 then for 12 it will be 12nullnull and for will be 2nullnull and when you check root.contain(subroot) it will give true but it should be false
Hey @nikoo28 Please Make Video On Question Number 110. Balanced Binary Tree. Please Make video fast because my interview in Amazon. And your teaching is so good
@@aryavardhansingh2162 yeah, i found that preOrder is used for comparing structure of BT, cause here root node comes first , then left and right on the other hand inorder and post dosent follow this, for that preOrder is used to compare two BT.
guys who ever is confused with '^' in Stringbuilder it is to handle below kind of tree node
TreeNode root = new TreeNode(12);
TreeNode subRoot = new TreeNode(2);
where 12 (tweleve) will be treated as 1,2 subtree as 2 it gives true
to figure out item or data in node we are using ^ as seperator
still if u need confirmation pls refer test case created by nikhil in description code
and nikhil small suggestion pls explain or stick to same logic during dry run , this will give more clarification and reduces doubts , in last example no null were included in ur explanation
rest vedio is very helpful thank you ❤
you have to add string("^") to your initial string otherwise it breaks at special cases like
s = 12nullnull
t = 2nullnull
Cheeky Nikhil.
thanks bro
Hey can you please explain how the "sb" object of String builder is preserve-ing the value when it moves to next iteration.
Whenever you put StringBuilder sb = new StringBuilder("^"); it passes the test cases but if you dont put the ^ it fails a single test case of root =[1,2] and subroot=[2] , can you explain why please? I think this is the same query that others trying to ask in the comment section
you have to add string("^") to your initial string otherwise it breaks at special cases like
s = 12nullnull
t = 2nullnull
thank you! best explanation.
It won't take O(n). Java's .contains() works in O(MN). Use efficient pattern-matching algorithms like KMP to achieve linear TC.
Time complexity shouldn't be O(n) ...since String.contains() takes O(m+n)
O(m + n) will translate to O(n), where n > m
O(m+n) is still O(n) since m O(2n) which is worst case when n=m, which is still O(n)
Thank you brother
OP solution.
🧡 from remote.
Why we took ^ in StringBuilder
it is just an anchor
Repeated DNA Sequences. make vedio about this
Only pre-Order traversal will work here, In other 2 (POT & IOT) all TCs will not pass
very nice explanation.
Keep watching
this is failing in this test case sir
Input
root =[12]
subRoot =[2]
What output are you expecting?
you code is not fully correct if there is root 12 and subroot 2 then for 12 it will be 12nullnull and for will be 2nullnull and when you check root.contain(subroot) it will give true but it should be false
it passes the constraints on leetcode. can you explain your test case a little better?
I need to check will let you know
Hey @nikoo28 Please Make Video On Question Number 110. Balanced Binary Tree.
Please Make video fast because my interview in Amazon. And your teaching is so good
Solve "node at distance k from target node" Please🙏
i applied the same way in inorder and postorder after that it doesn't pass all the test cases in leetcode.
same here do you know the reason ?
@@aryavardhansingh2162 yeah, i found that preOrder is used for comparing structure of BT, cause here root node comes first , then left and right on the other hand inorder and post dosent follow this, for that preOrder is used to compare two BT.
Great.Thanks
didnt work for all testcases
Check the code in description. It passes on leetcode
@nikoo28 The solution does not work for in order traversal when root is [1,2,3] and sub root is [1,2]. Code returns True but should be False.
love ur explanion v much,, +1 suscription from my side buddy!!
Nice
test cases failing
check the code in the github link provided in video description.
@@nikoo28The solution does not work for in order traversal when root is [1,2,3] and sub root is [1,2]. Code returns True but should be False.
@@adirang just checked again, code is returning False.
will fail only one test case. Anyways this method is not recommended, good explanation tho.