Practice
Resources
Contests
Online IDE
New
Free Mock
Events New Scaler
Practice
Improve your coding skills with our resources
Contests
Compete in popular contests with top coders
logo
Events
Attend free live masterclass hosted by top tech professionals
New
Scaler
Explore Offerings by SCALER

Unequal Ancestor

Problem Description

You are given a binary tree having N nodes and having root node A. Each node in the tree has either 0 or 1 value.

Kth ancestor of a node V is defined as:

  • If K >= 1, (K-1)th ancestor of the parent of node V.
  • If K = 0, the node V itself.

    For a given integer B, You have to find the number of ordered pair of nodes (X, Y) such that node X is the B th ancestor of node Y and values of nodes X and Y are <!--complementary--> not equal to each other.

    <!--

    You have to find the number of nodes having their Kth ancestor value complementary to their value.

    -->



  • Problem Constraints

    1 <= N <= 105

    0 <= B <= 105

    Value of each node is either 0 or 1.



    Input Format

    First argument is the root node of the binary tree A.

    Second argument is an integer B.



    Output Format

    Return the number of such ordered pairs.



    Example Input

    Input 1:

               1
    / \
    0 0
    /
    1
    B = 1

    Input 2:

                 1
    / \
    0 0
    / \
    1 0
    / \
    1 1
    B = 2



    Example Output

    Output 1:

     3 

    Output 2:

     3 



    Example Explanation

    Explanation 1:

     values:    1            node numbers:   1
               / \                          / \
              0   0                        2   3
             /                            /
            1                            4
     Ordered node pairs (1, 2) , (1, 3) and (2, 4) are desired pairs. 
    

    Explanation 2:

     values:      1          node numbers:    1
    / \ / \ 0 0 2 3 / \ / \ 1 0 4 5 / \ / \ 1 1 6 7 Ordered node pairs (1, 4) , (2, 6) and (2, 7) are desired pairs.



    NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a question? Checkout Sample Codes for more details.
    Start solving Unequal Ancestor on Interview Code Editor
    Hints
    • Hint 1
    • Solution Approach
    • Complete Solution

    Discussion


    Loading...
    Click here to start solving coding interview questions
    Free Mock Assessment
    Fill up the details for personalised experience.
    All fields are mandatory
    Current Employer *
    Enter company name *
    Graduation Year *
    Select an option *
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    Phone Number *
    OTP will be sent to this number for verification
    +1 *
    +1
    Change Number
    Phone Number *
    OTP will be sent to this number for verification
    +1 *
    +1
    Change Number
    Graduation Year *
    Graduation Year *
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    *Enter the expected year of graduation if you're student
    Current Employer *
    Company Name *
    Please verify your phone number
    Edit
    Resend OTP
    By clicking on Start Test, I agree to be contacted by Scaler in the future.
    Already have an account? Log in
    Free Mock Assessment
    Instructions from Interviewbit
    Start Test