FastPrepFind a Template Across Binary-Tree Leaves
Problem · String

Find a Template Across Binary-Tree Leaves

Learn this problem
MediumGoogle logoGoogleNEW GRADONSITE INTERVIEW
See Google hiring insights

Problem statement

The text represented by a binary tree is formed by concatenating the values of its leaves from left to right. A leaf value may be a string, a single character, or a space.

In this practice interface, leafValues lists the leaf values in that same left-to-right order. Given leafValues and a string templateText, return true if templateText occurs as a contiguous substring of the tree's text. Otherwise, return false.

Characters, including spaces, must match exactly. A match may begin in one leaf value and continue into another.

Function

containsLeafTemplate(leafValues: String[], templateText: String) → boolean

Examples

Example 1

leafValues = ["ab","c"," de"]templateText = "c d"return = true

The leaves form abc de. The template c d appears across the boundary between the second and third leaf values.

Example 2

leafValues = ["hello"," ","world"]templateText = "lo wo"return = true

The leaves form hello world, which contains lo wo.

Example 3

leafValues = ["binary"," ","tree"]templateText = "template"return = false

The leaves form binary tree, which does not contain template.

More Google problems

drafts saved locally
public boolean containsLeafTemplate(String[] leafValues, String templateText) {
    // Write your code here.
}
leafValues["ab","c"," de"]
templateText"c d"
expectedtrue
checking account