hi nikhil, there is a line else which made me confused, if(is.empty || stack.pop()!=c) why did you write the condition is.empty?? wont it be !is.empty() since if its empty, we are gonna be returning true??
All are fantastic explanation but am not het why he use stack.isEmpty() How Empty will be false empty stack means all are removed successfully am right if anyone know this kindly clarify me
@@arslanmuhammad4190 solve more problems on binary trees, just understanding the concept is not enough. Try to find the lowest common ancestor, least paths, backtracking in trees etc.
class Solution { public boolean isValid(String s) { //valid parentheses would mean that all types of opening parentheses are correctly matched with their corresponding closing parentheses, and they are properly nested within each other. Stack stack = new Stack(); for(char par : s.toCharArray()){ if(par == '('){ stack.push(')'); }else if(par == '{'){ stack.push('}'); }else if(par == '['){ stack.push(']'); }else if(stack.pop() != par){ this code is also working , but i dont know why at last else if condition we want 2 condition to check. can any one explain return false; } } return stack.isEmpty(); } }
Here problem is what if string stars with close bracket? Like this "]()[]" it will not push any charecter to stack but will try to pop the empty stack which will throw error so you must add isEmpty() Condition to avoid error
Hi Nikhil, Your solutions are amazing. But for this particular problem, I feel this can be done in a better way instead of complicating it with a stack data structure. Please find my solution which was advised to me in an interview at Apexon UK. I find the solution to be intuitive and very simple. private static boolean isBalancedParanthesis(String s){ do { if(s.contains("()")) s = s.replace("()", ""); if(s.contains("[]")) s = s.replace("[]",""); if(s.contains("{}")) s = s.replace("{}", ""); }while(s.contains("[\\W]+")); if(s.length()>0) return false; else return true; }
that works as well, but I was also trying to give an idea about how to solve mathematical expressions also. :) You are also relying on "contains" functionality.
@nikoo28 I don't mean to discredit you. Because I learn a lot from you. And this solution I posted just in case someone's looking for an easy solution. Anyway your videos are all amazing and you are really doing a great work
Love You Sir, Got A Internship. 6 months of struggle. Got Pass my DSA test. Thanks.
all the very best...congrats 😄
Bhai mujhe guide kardo yaar konsi company main internship mili or kaise mili kya criteria tha?
Hey bro can u tell how and what all did u practice
your explanation sticks to the brain, please continue the good work
By Watching Your Videos now. I solved problems in efficient complexity. Thanks.
Excellent!
You are the best for sure
thanks,sir, really loved your CLEAR STEP by step explanations.
Keep up the Great work Sir, Thank you
Thank you sir. im confused from 4 days
Very informative . Love you Man
best solution till date
Best Explanation Sir!!!!
Amazing Bro . keep it up💘.
Thanks 🔥
hi nikhil, there is a line else which made me confused,
if(is.empty || stack.pop()!=c) why did you write the condition is.empty?? wont it be !is.empty() since if its empty, we are gonna be returning true??
We are doing this to check if the stack becomes empty without matching all the brackets.
@@nikoo28 That is only possible when input contains numbers or letters Is not input always contains parenthesis or brackets ?
Check the problem constraints
What if string starts with close bracket like "]()" it will try to pop empty stack and will throw error so that stack.isEmpty() Condition is there
All are fantastic explanation but am not het why he use stack.isEmpty() How Empty will be false empty stack means all are removed successfully am right if anyone know this kindly clarify me
Sir please make some video on design patterns …it will be helpful… and thanks for wonderful videos on DSA
design patterns, system design, graphs...these are the next series of videos in my pipeline..stay tuned!!
thank you so much 🙏🙏🙏
Very informative video… could you please make a DSA playlist from a scratch
what kind of videos are you looking for? I have videos on stacks/queue, other data structures...
Sir very clear explanation 👌
great explanation😄
sir can you do videos on solving contest problems every week
I post a new video every week :)
Explaination is at par level .
Thank you! You’re awesome!
Can you please also upload a solution of Leetcode 200?
yes, that is a very popular problem indeed. Will make a video soon
Thanks
sir When You are going to work on Graphs.
very soon. My next week video will be on introduction to graphs
@@nikoo28 Thanks Sir
The complete playlist on graphs is now available: th-cam.com/play/PLFdAYMIVJQHNFJQt2eWA9Sx3R5eF32WPn.html
Greak Work Sir
Thanks
@@nikoo28 Sir please answer my one doubt , are we not required to return true?? why was there no returning of true? else how will we get it
ohh got it ,thanks sir understood the last part
Can you please provide solution for Human Readable Time
Can you provide me a link to the problem?
Sir, Which Tree can I learn. I Know about BST and AVL. Can You guide me for More Trees.
Bhai kafi h yaar bas rulayega kya itna hi karle aur question practice kar bas aur kuch nhi mostly tujhe bst pe bt pe bhi sawal milega avl rare h
exactly, you don't need so much. BST and binary trees are usually enough.
sir Please I know about BST and AVL but What are other Binary trees.
@@abhi_coder6 yaar to sai khta ha lekin smj nai a rai or konsay binary trees.
@@arslanmuhammad4190 solve more problems on binary trees, just understanding the concept is not enough. Try to find the lowest common ancestor, least paths, backtracking in trees etc.
class Solution {
public boolean isValid(String s) {
//valid parentheses would mean that all types of opening parentheses are correctly matched with their corresponding closing parentheses, and they are properly nested within each other.
Stack stack = new Stack();
for(char par : s.toCharArray()){
if(par == '('){
stack.push(')');
}else if(par == '{'){
stack.push('}');
}else if(par == '['){
stack.push(']');
}else if(stack.pop() != par){ this code is also working , but i dont know why at last else if condition we want 2 condition to check. can any one explain
return false;
}
}
return stack.isEmpty();
}
}
@user-ei3ng5kt4n check for this input String s =")";
Here problem is what if string stars with close bracket? Like this "]()[]" it will not push any charecter to stack but will try to pop the empty stack which will throw error so you must add isEmpty() Condition to avoid error
❤
Hi Nikhil, Your solutions are amazing. But for this particular problem, I feel this can be done in a better way instead of complicating it with a stack data structure. Please find my solution which was advised to me in an interview at Apexon UK. I find the solution to be intuitive and very simple.
private static boolean isBalancedParanthesis(String s){
do
{
if(s.contains("()")) s = s.replace("()", "");
if(s.contains("[]")) s = s.replace("[]","");
if(s.contains("{}")) s = s.replace("{}", "");
}while(s.contains("[\\W]+"));
if(s.length()>0) return false;
else return true;
}
that works as well, but I was also trying to give an idea about how to solve mathematical expressions also. :)
You are also relying on "contains" functionality.
@nikoo28 I don't mean to discredit you. Because I learn a lot from you. And this solution I posted just in case someone's looking for an easy solution. Anyway your videos are all amazing and you are really doing a great work
@@jjoelthomas you have to tell the interviewer that contains and replace function are costly. makes whole program as O(n^2)
i got the algoirthm
классная кофта со спайдером
Tw